ソリューションがIPアドレスとネットマスクを扱っている別の投稿に答えようとして、私は単純なビット単位の演算で行き詰まりました。
Pythonで、入力が「32ビット」(おそらく負の)整数またはlongであり、結果が[[ 0、2 ** 32]?
言い換えると、unsignedlong間のCビット演算に対応するPythonの動作が必要です。
編集:特定の問題はこれです:
>>> m = 0xFFFFFF00 # netmask 255.255.255.0
>>> ~m
-4294967041L # wtf?! I want 255