मैं पाइथन के लिए नया हूं। पर्ल में, स्केलर वैरिएबल (पूर्णांक) में विशिष्ट बिट्स सेट करने के लिए, मैं नीचे vec()
का उपयोग कर सकता हूं।पायथन के बराबर perl vec() फ़ंक्शन
#!/usr/bin/perl -w
$vec = '';
vec($vec, 3, 4) = 1; # bits 0 to 3
vec($vec, 7, 4) = 10; # bits 4 to 7
vec($vec, 11, 4) = 3; # bits 8 to 11
vec($vec, 15, 4) = 15; # bits 12 to 15
print("vec() Has a created a string of nybbles,
in hex: ", unpack("h*", $vec), "\n");
आउटपुट:
vec() Has a created a string of nybbles,
in hex: 0001000a0003000f
मैं सोच रहा था कि कैसे, पायथन में एक ही प्राप्त करने के लिए थोड़ा हेरफेर कोड लिखने के लिए होने और struct.pack मैन्युअल का उपयोग किए बिना?
जब आप कहते हैं कि थोड़ा हेरफेर कोड तुम्हारा मतलब bitshift << > का समाधान कर सकता>? – user2958652
आप कहते हैं कि यह बिट्स 0 से 3, 4 से 7 इत्यादि सेट करता है लेकिन यह निबल्स 3 (बिट्स 12 से 15), 7 (बिट्स 28 से 31) इत्यादि सेट करता है। किसी भी तरह से, इसे अपना स्वयं का 'वीसी लिखना आसान होना चाहिए 'अगर समकक्ष नहीं है। – ikegami
शायद सवाल [पायथन में बिट सरणी] (http://stackoverflow.com/q/11669178/2157640) मदद करेगा। – Palec