किसी अन्य पोस्ट का जवाब देने का प्रयास कर रहा है जिसका समाधान आईपी पते और नेटमास्क के साथ सौदा करता है, मैं सादा bitwise अंकगणित के साथ अटक गया।पायथन: 32 बिट बिटवाइथ अंकगणित
क्या पाइथन में थोड़ा सा तरीका है, थोड़ा सा और, या, एक्सओआर, ऑपरेशन मानते हैं कि इनपुट "32 बिट" (शायद नकारात्मक) पूर्णांक या लंबे समय तक हैं, और परिणाम एक लंबा होना चाहिए सीमा में [0, 2 ** 32]?
दूसरे शब्दों में, मुझे बिना हस्ताक्षर किए गए लम्बाई के बीच सी बिटवाई ऑपरेशंस के लिए एक पाइथन समकक्ष की आवश्यकता है।
संपादित करें: विशिष्ट मुद्दा यह है:
>>> m = 0xFFFFFF00 # netmask 255.255.255.0
>>> ~m
-4294967041L # wtf?! I want 255
मुझे लगता है कि पाइथन ढीले टाइपिंग इस तरह के किसी भी एल्गोरिदम के साथ नरक खेलेंगे ... मैं उत्सुकता से बाहर भी एक देखना चाहता हूं। –
पायथन 3.3 के रूप में, कुछ उपयोगकर्ताओं को इसका सामना करना पड़ सकता है [ipaddress मॉड्यूल] (http://docs.python.org/dev/library/ipaddress) में रुचि हो सकती है। – gerrit