def sto2(d):
if d == 0:
return '0' #处理输入的是0的情况
sign = ''
if d <0:
d = -d
sign = '-'#转换输入的是负数的情况
b = ''
while d != 0:
b = str(d % 2) + b
d = d // 2
return sign + b
d = int(input('要转换的十进制数是:'))
print('对应的二进制结果为'+sto2(d))
执行测试一下:
要转换的十进制数是:28
对应的二进制结果为11100
要转换的十进制数是:-66
对应的二进制结果为-1000010
_______________END______________
你是指读入二进制文件吧?\x0d\x0a可以使用numpy.fromfile(),也可以使用open(filename, 'rb'),其中的'b'就是二进制的意思,然后使用文件类型的read方法,读取一些字节,再用struct.unpack()方法来解析二进制。\x0d\x0a第一种方法是一次性读入文件(或文件的前多少个连续字节)到一个数组中,因此,灵活性差。\x0d\x0a第二种方法灵活性很高,可以读取任意位置(使用文件的seek()方法跳跃位置)的二进制数据,再使用struct.unpack()方法来进行各种二进制解析。\x0d\x0a\x0d\x0a提示:二进制文件是不保留存储方式的数据格式,因此,读二进制文件时应该知道二进制文件的存储格式。