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