十六进制签署2的补码。 Int转换为十六进制

时间:2020-02-29 21:32:19

标签: python

我有一个例子:

>>> print(hex(16).replace("0x", "00"))
0010
>>> print(hex(15).replace("0x", "00"))
00f

0010可以,但是如何获得00 0F?

1 个答案:

答案 0 :(得分:0)

使用字符串格式

print('{:04x}'.format(16))
print('{:04x}'.format(15)) 

number = 16
print('{:04x}'.format(number)) 

如果您需要X代替x,则可以使用F代替f


使用f-string

number = 16
print(f'{number:04X}')
number = 15
print(f'{number:04X}')

使用hex()时,您需要.upper()才能获得F,而不是f

然后使用zfill(4)添加零。

print(hex(16).replace("0x", "00").upper().zfill(4))
print(hex(15).replace("0x", "00").upper().zfill(4))

print(hex(16)[2:].upper().zfill(4))
print(hex(15)[2:].upper().zfill(4))