前言:
此时小伙伴们对“二八十六进制的转换”大致比较关注,小伙伴们都想要了解一些“二八十六进制的转换”的相关资讯。那么小编也在网络上汇集了一些有关“二八十六进制的转换””的相关文章,希望同学们能喜欢,兄弟们一起来了解一下吧!学习《Python Cookbook》第三版
你需要转换或者输出使用二进制,八进制或十六进制表示的整数。
为了将整数转换为二进制、八进制或十六进制的文本串,可以分别使用 bin() ,oct() 或 hex() 函数:
my_int = 1221print(bin(my_int)) # "0b10011000101"print(oct(my_int)) # "0o2305"print(hex(my_int)) # "0x4c5"
另外,如果你不想输出 0b , 0o 或者 0x 的前缀的话,可以使用 format() 函数。比如:
my_int = 1221print(format(my_int, 'b')) # "10011000101"print(format(my_int, 'o')) # "2305"print(format(my_int, 'x')) # "4c5"
整数是有符号的,所以如果你在处理负数的话,输出结果会包含一个负号。比如:
sign_int = -1221print(format(sign_int, 'b')) # "-10011000101"print(format(sign_int, 'o')) # "-2305"print(format(sign_int, 'x')) # "-4c5"
如果你想产生一个无符号值,你需要增加一个指示最大位长度的值。比如为了显示32 位的值,可以像下面这样写:
sign_int = -1221# 补码表示法 转换到原码,可以是补码的补码print(format(2 ** 32 + sign_int, 'b')) # "11111111111111111111101100111011"print(format(2 ** 32 + sign_int, 'x')) # "fffffb3b"
为了以不同的进制转换整数字符串,简单的使用带有进制的 int() 函数即可:
print(int('4c5', 16)) # "1221"print(int('10011000101', 2)) # "1221"
大多数情况下处理二进制、八进制和十六进制整数是很简单的。只要记住这些转换属于整数和其对应的文本表示之间的转换即可。永远只有一种整数类型。
最后,使用八进制的程序员有一点需要注意下。 Python 指定八进制数的语法跟其他语言稍有不同。比如,如果你像下面这样指定八进制,会出现语法错误:
# os.chmod('py20210224.py', 0755) # 这种会报错 SyntaxError: invalid tokenos.chmod('py20210224.py', 0o0755)
标签: #二八十六进制的转换 #二八十六进制的转换例题 #二八十六进制的转换对照表格