为什么python输出负十六进制?

时间:2013-04-27 22:51:04

标签: python

http://docs.python.org/release/2.4.4/lib/typesseq-strings.html

该表表示无符号十六进制,我的输出已签名......

for a in words: # list of word
    print '%x'%hash(a)

http://codepad.org/Cvd0Bg2T

2 个答案:

答案 0 :(得分:4)

该文档适用于Python 2.4。您可能正在使用更新版本。请查看该表格的newer版本 - %x现已签名。

答案 1 :(得分:2)

2.6的变化出现(或似乎);在http://docs.python.org/release/2.5.4/lib/typesseq-strings.html中,你发现: ... x无符号十六进制(小写)。 在http://docs.python.org/release/2.6/library/stdtypes.html#string-formatting: ... ' X'有符号的十六进制(小写)。

关于2.6"什么是新的"

新政策部分来自" printf"政策。 在调试C代码时,我曾经在我的gdb终端旁边打开一个ipython解释器来进行地址计算。这不再起作用,我发现没有简单的转变。