एक पूर्णांक से एक अजगर बिटरैरे बनाना - अजीब परिणाम! - अजगर, बिट-फ़ील्ड, बिटरैरे

मैं सिर्फ अजगर में बिटरैरे पैकेज का उपयोग करना शुरू कर रहा हूं, और एक पूर्णांक से बिटरैरे बनाने की कोशिश कर रहा हूं, मुझे वास्तव में भ्रमित परिणाम देता है:

>>> import bitarray
>>> bitarray.bitarray(5)
bitarray("01000")
>>> bitarray.bitarray(5)
bitarray("00010")
>>> bitarray.bitarray(5)
bitarray("00100")
>>> bitarray.bitarray(5)
bitarray("00110")

क्या किसी को कोई विचार है कि यह क्यों हो रहा है ??

इसके अलावा: एक int से बिटरैरे बनाने का बेहतर तरीका क्या होगा? यह काम करता है, लेकिन स्ट्रिंग रूपांतरण ऐसा करने के लिए एक अजीब तरीका लगता है ...

>>> bitarray.bitarray(bin(5)[2:])
bitarray("101")

संपादित करें: मैं स्विचिंग समाप्त हो गया bitstring, जिसमें स्याही से बिटस्ट्रिंग प्राप्त करने का एक आसान तरीका है:

>>> bitstring.BitArray(uint=5,length=6)
BitArray("0b000101")

उत्तर:

जवाब के लिए 3 № 1

bitarray.bitarray(n) एक बनाता है अप्रारंभीकृत लंबाई की सरणी n

जहां तक ​​एक पूर्णांक से बना है, bitarray ऐसा लगता है कि इसके प्रति विशेष रूप से तैयार नहीं है, इसलिए आपको या तो इसका उपयोग करना होगा pack/unpack या सेट करने के लिए व्यक्तिगत बिट्स पर लूप।


संबंधित सवाल
सबसे लोकप्रिय