試圖回答解決方案處理IP地址和網絡掩碼的另一篇文章,我被簡單的按位算術卡住了。Python:無符號32位按位算術
在Python中,是否存在一種標準方式來進行按位AND,OR,XOR,NOT操作,假設輸入是「32位」(可能是負數)整數或長整數,並且結果必須是長整型在[0,2 ** 32]的範圍內?
換句話說,我需要一個可操作的Python對應於無符號長整數之間的C位操作。
編輯:具體的問題是這樣的:
>>> m = 0xFFFFFF00 # netmask 255.255.255.0
>>> ~m
-4294967041L # wtf?! I want 255
我想Pythons寬鬆打字會玩這樣的任何算法地獄......我也想看到一個,只是出於好奇。 – 2008-10-16 23:40:21
從Python 3.3開始,遇到這種情況的一些用戶可能會對[ipaddress模塊](http://docs.python.org/dev/library/ipaddress)感興趣。 – gerrit 2014-02-05 09:41:24