总结:进制间的转换

来源:互联网 发布:淘宝网mac版 编辑:程序博客网 时间:2024/05/16 11:27

1、在Python里,使用str.format()可以很方便地在进制间转换。

(1)十进制数–>对应的二进制数

>>> '{0:b}'.format(12)  #把十进制数12转为对应的二进制数的字符串形式  >>> '1100'  >>> if num < 0:        num = num + 4294967296>>>'{0:b}'.format(12)  #32位二进制

(2)十进制数–>固定长度的对应的二进制数

>>> '{0:07b}'.format(12)  #指定长度为7  >>> '0001100'  

2、使用ctypes库:

>>> import ctypes>>> a = 31>>> b = ctypes.c_int32(a).value

3、使用bin()函数:

>>> bin(31) #结果为字符串形式 '0b11111'hex()函数将十进制转换16进制:>>> hex(31)'0x1f'oct()函数将十进制转换为八进制>>> oct(255)'0377'

5、int()可以将 二进制,八进制,十六进制转换成十进制整型

>>> int('1111', 2)15>>> int('f', 16)15>>> int('17', 8)15

4、将字符串转换为数组:

>>> A = "ABCD">>> B = list(map(ord, A))[65, 66, 67, 68]

ps:
本帖为总结帖,今后在进制转换方面找到了更好的方法会更新