0
誰能解釋這Python代碼如何:左移一個Python整數產生不正確的結果
print "bits_received:", bits_received
tmp = 0
print type(tmp)
tmp = (1 << bits_received)
print type(tmp)
print "tmp: 0x{:X}".format(tmp)
會產生這樣的結果:
bits_received: 95
<type 'int'>
<type 'numpy.int64'>
tmp: 0x80000000
'bits_received'是一個NumPy標量。 NumPy整數是固定寬度的,就像C一樣。NumPy好像給了你底層C編譯器的左移行爲(這可能是底層機器的左移行爲),而不是引發錯誤。 – user2357112