1. 程式人生 > >python 如何 列印負數為16進位制 無符號數?

python 如何 列印負數為16進位制 無符號數?

2011-12-30

如,想將-1列印成0xffffffff,結果是:

>>> a=-1
>>> hex(a)
'-0x1'
>>> print "%u"%a
-1
>>> print "%x"%a
-1
>>> print hex(a)
-0x1

沒有辦法將其列印成0xffffffff。列印和轉化辦法,可以定義hex2函式進行轉換:

>>> print hex(a&0xffffffff)
0xffffffffL
>>> b=-2
>>> print "0x%08x"%(b&0xffffffff)
0xfffffffe

>>> def hex2(a):
...     return a>0 and hex(a) or hex(a&0xffffffff)
...
>>> hex2(a)
'0xffffffffL'
>>> hex2(234)
'0xea'
>>> hex2(b)
'0xfffffffeL'

如非註明轉載, 均為原創. 本站遵循知識共享CC協議,轉載請註明來源