假设我有经典的4字节有符号整数,我想要类似的东西
打印十六进制(-1)
给我一些类似的东西
>> 0xffffffff
实际上,上面给出了-0x1.我在一些较低级别的语言中徘徊,而python命令行很容易.
那么..有办法吗?
这样就可以了:
>>> print hex (-1 & 0xffffffff) 0xffffffffL
或者,以函数形式(并剥离尾随的"L"):
>>> def hex2(n): ... return hex (n & 0xffffffff)[:-1] ... >>> print hex2(-1) 0xffffffff >>> print hex2(17) 0x11
或者,总是返回固定大小的变体(可能有更好的方法来执行此操作):
>>> def hex3(n): ... return "0x%s"%("00000000%s"%(hex(n&0xffffffff)[2:-1]))[-8:] ... >>> print hex3(-1) 0xffffffff >>> print hex3(17) 0x00000011
或者,完全避免使用hex(),感谢Ignacio和bobince:
def hex2(n): return "0x%x"%(n&0xffffffff) def hex3(n): return "0x%s"%("00000000%x"%(n&0xffffffff))[-8:]