2016-12-29 54 views
1

於是,我就在Python殼以下:混亂上三三兩兩在python恭維

>>> x = -1 
>>> x < 0 
True 
>>> x = -x 
>>> x ^= 0xffffffff 
>>> x += 1 
>>> x < 0 
False 

所以,如果我有一些這就是最初陰性,我否定它,並採取了二進制補碼,不應該是爲負再次?爲什麼python認爲這個數字是正數?

+0

使用'印刷()'來看看你有'x' - 'int'可以保留大數字 - 大於0xffffffff,所以你不要否定它。 – furas

+0

你可能想檢查https://wiki.python.org/moin/BitwiseOperators – niemmi

回答

0

您可以使用Print你的代碼檢查,你這是在那之前積極,

>>> x=-1 
>>> x<0 
True 
>>> x=-x 
>>> x 
1 
>>> x^=0xffffffff 
>>> x 
4294967294 
>>> x+=1 
>>> x 
4294967295 
>>> x<0 
False 

欲瞭解更多詳情,請前往這裏https://wiki.python.org/moin/BitwiseOperators