python十进制转二进制的详解
python十进制转二进制
python中十进制转二进制使用bin()函数。
bin()返回一个整数int或者长整数longint的二进制表示。
下面是使用示例:
>>>bin(10) '0b1010' >>>bin(20) '0b10100'
补充:十进制转8进制和16进制的方法:
#-*-coding:UTF-8-*-
#获取用户输入十进制数
dec=int(input("输入数字:"))
print("转换为八进制为:",oct(dec))
print("转换为十六进制为:",hex(dec))
内容扩展:
#-*-coding:utf-8
fromdecimalimportDecimal
defbTod(n,pre=4):
'''
把一个带小数的二进制数n转换成十进制
小数点后面保留pre位小数
'''
string_number1=str(n)#number1表示二进制数,number2表示十进制数
decimal=0#小数部分化成二进制后的值
flag=False
foriinstring_number1:#判断是否含小数部分
ifi=='.':
flag=True
break
ifflag:#若二进制数含有小数部分
string_integer,string_decimal=string_number1.split('.')#分离整数部分和小数部分
foriinrange(len(string_decimal)):
decimal+=2**(-i-1)*int(string_decimal[i])#小数部分化成二进制
number2=int(str(int(string_integer,2)))+decimal
returnround(number2,pre)
else:#若二进制数只有整数部分
returnint(string_number1,2)#若只有整数部分直接一行代码二进制转十进制python还是骚
defdTob(n,pre=4):
'''
把一个带小数的十进制数n转换成二进制
小数点后面保留pre位小数
'''
string_number1=str(n)#number1表示十进制数,number2表示二进制数
flag=False
foriinstring_number1:#判断是否含小数部分
ifi=='.':
flag=True
break
ifflag:
string_integer,string_decimal=string_number1.split('.')#分离整数部分和小数部分
integer=int(string_integer)
decimal=Decimal(str(n))-integer
l1=[0,1]
l2=[]
decimal_convert=""
whileTrue:
ifinteger==0:break
x,y=divmod(integer,2)#x为商,y为余数
l2.append(y)
integer=x
string_integer=''.join([str(j)forjinl2[::-1]])#整数部分转换成二进制
i=0
whiledecimal!=0andi
以上就是本次介绍的全部相关知识点,感谢大家的学习和对毛票票的支持。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。