Python的二进制八进制十六进制数

2018/07/02 python 共 498 字,约 2 分钟
# 按不同进制输出,输出时会有前面的0b 0o 0x
x = 1234
print(bin(x))           # '0b10011010010'
print(oct(x))           # '0o2322'
print(hex(x))           # 0x4d2

# 按不同进制输出,输出时不带前面的0b 0o 0x
print(format(x, 'b'))   # '10011010010'
print(format(x, 'o'))   # '2322'
print(format(x, 'x'))   # 4d2

x = -1234
print(format(x, 'b'))   # '-10011010010'
print(format(x, 'x'))   # -4d2

# 负数扩展到32位输出,这样高位是1,输出不再有负号
x = -1234
print(format(2**32 + x, 'b'))   # '11111111111111111111101100101110'
print(format(2**32 + x, 'x'))   # 'fffffb2e'

# 以不同的进制转换整数字符串,简单的使用带有进制的 int() 函数
print(int('0x4d2', 16))          # 1234
print(int('0b10011010010', 2))  # 1234

文档信息

Search

    Table of Contents