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

自学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______________

1、将十进制转换成二进制,利用bin()方法。

2、获取亏迹二进制数据的长度袭铅。

3、to_bytes(),byteorder为little>>>(2048).to_bytes(2,byteorder='little')b'\x00\x08'。

4、使用to_bytes()方法,byteorder为big。

5、添加signed=True属性>>>(-10240).to_bytes(10,byteorder='拍空好little',signed=True)。

6、利用bit_length()方法>>>A3=45125656>>>A3.to_bytes((A3.bit_length()+7) // 8,byteorder='big')。就完成了。

把十六进制的字串转为十进制数字:

Python代明氏码

>>>

print

int('ff',

16)

255

>>>

print

int('ff',

16)

255

把十进制数字转换为以十六进制表示之字串,可调用内置的hex()函数:

Python代码

>>>

print

hex(255)

0xff

>>>

print

hex(255)

0xff

调用BinAscii模块其中的b2a_hex()函数,可把以ASCII编汪槐宴码的文字以十六困银进制表示:

Python代码

>>>

print

binascii.b2a_hex('A')

41

>>>

print

binascii.b2a_hex('A')

41

反之也可把以十六进制表示的文字,换成以ASCII编码的文字:

Python代码

>>>print

binascii.a2b_hex('41')

“A”


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12272683.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存