簡體   English   中英

Python左移(簽名問題)

[英]Python left shift (sign issue)

在這個例子中,我獲得了一個正數,但我需要一個Python中的表達式,它提供與Javascript相同的結果。

如何在Python中獲得負面結果?

Python 2.7

mv = 1732584193 << 5

結果:

mv = 55442694176

bin(mv)給出0b1100111010001010010001100000001

使用Javascript

mv = 1732584193 << 5

結果:

mv = -391880672

mv.toString(2)給出-10111010110111001111111100000

您可以使用ctypes執行此操作:

>>> import ctypes
>>> mv = ctypes.c_int32(1732584193)
>>> mv.value <<= 5
>>> mv
c_int(-391880672)
>>> bin(mv.value)
'-0b10111010110111001111111100000'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM