自学Python:十进制转二进制程序

Python017

自学Python:十进制转二进制程序,第1张

我们日常使用的是十进制的数,而计算机都是0101这样的二进制数,如果知道十进制数对应的二进制数是多少,可以设计一个程序。

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提示:二进制文件是不保留存储方式的数据格式,因此,读二进制文件时应该知道二进制文件的存储格式。