对于python来说是相当新的东西,似乎被卡住了,我有以下内容:
我从比特流中读取了30位:
MMSI = b.readlist('uint:30')
除非值变得更高,否则这似乎正常工作。
MMSI = b.readlist('uint:30')
p = 972128254
# repr(MMSI)[:-1]
print p
print "MMSI :"
print MMSI
if MMSI == p:
上面的代码输出:
972128254
MMSI :
[972128254L]
MMSI == p:的整体由于某种原因不相等而被跳过。
我不明白为什么该值远低于max.int:
>>> import sys
>>> sys.maxint
2147483647
我不明白为什么我会得到Long而不是uint?
如果返回的值为244123456,则它就像一个超级按钮一样工作。
我在这里想念什么?
谢谢,
粗暴的
最佳答案
2147483647
是maxint,但是int是32位,而您使用的是30位。因此,您的上限是上限的1/4,即约5亿。