python将字符串转换为16进制数字,
本文介绍和分享python包含浮点数的十进制和二进制转换方法,并留下注释。详情如下:
终于完成了。从十进制到二进制的小数部分花了我将近一个小时。
上传代码
#-*-编码:utf-8
从十进制导入十进制
defBtod(n,pre=4):
""
将包含小数的二进制数n转换为十进制数
小数点后保留小数点前一位。
""
String_number1=str(n) #number1表示二进制数,number2表示十进制数。
Decimal=0 #将小数部分二进制化后的值。
标志=假
对于string_number1中的I:#判断是否有小数部分。
如果我== . :
标志=真
黑色
If标志:#当十进制数中包含小数部分时
String_integer,string _ decimal=string _ number 1 . split . #将整数部分与小数部分分开
Foriinrange(字符串描述):
decimal=2 * *(-I-1)int(string _ decimal[I])#小数部分为二进制
2=int (str (int (string _ integer,2)))深度
返回路径(数字2,前))。
否则:#如果二进制数只有整数部分
Return int (string _ number1,2) #是直接把一行代码转换成二进制十进制python,还是打乱整数部分?
defdtob(n,pre=4):
""
将带小数的十进制数n转换成二进制数。
小数点后保留小数点前一位。
""
String_number1=str(n) #number1表示十进制数,number2表示二进制数。
标志=假
对于string_number1中的I:#判断是否有小数部分。
如果我== . :
标志=真
黑色
if标志:
String_integer,string _ decimal=string _ number 1 . split . #将整数部分与小数部分分开
integer=int(string_integer)).
decimal=decimal(str(n))-积分器
L1=[ 0,1 ]
l2=[]
decimal_convert=
虽然正确:
如果integer==0: break
x,y=divmod(integer,2) #x是商,y是余数。
附加(y)).
整数=x
String _ integer=“”。join ([str (j) for j in L2 [:-1]])将整数部分转换为二进制
i=0
而十进制!=0且i pre:
result=int(decimal*2))
十进制=十进制* 2 -结果
decimal _ convert=decimal _ convert str(结果)
i=i 1
string _ number2=string _ integer . 十进制_转换
返回浮点型(string _ number2))。
否则:#如果二进制数只有整数部分
L1=[ 0,1 ]
l2=[]
虽然正确:
如果n==0:断开
x,y=divmod(n,2) #x是商,y是余数。
附加(y)).
n=x
string_number=“”。join([str(j ) for j in l2[:-1]])
returnint(string_number).
以上是本文的全部内容,希望对大家的学习有所帮助。另外,希望大家支持一下教程网。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。