- एक API एक 64 बिट प्रकार अपेक्षा करता है कि में सत्यापित किया जा रहा ctypes प्रकार परिशुद्धता, मैं कैसे जांच कर सकते हैं एक
ctypes
प्रकार है कि यह है कि कई बिट्स अगरsizeof
रिटर्न बाइट की संख्या? - मुझे कैसे पता चलेगा कि वर्तमान प्लेटफॉर्म पर प्रत्येक बाइट में कितने बिट हैं?
- पाइथन में परिभाषित
CHAR_BIT
कहां है?
Q
अजगर
7
A
उत्तर
6
सी/सी ++ फ़ंक्शन हस्ताक्षर सी/सी ++ प्रकारों जैसे "int" या "डबल" या "uint32_t" के साथ लिखे गए हैं। इन सभी में समान ctypes समकक्ष हैं, इसलिए आमतौर पर आपको बिट्स की संख्या की परवाह नहीं है।
कहा ...
import os
print os.sysconf('SC_CHAR_BIT')
... के बारे में के रूप में पास के रूप में आप मिल जाएगा है, मुझे लगता है। गैर-यूनिक्स प्लेटफॉर्म पर काम नहीं करता है। और जैसा कि टीएमसी टिप्पणियों में बताता है, यह सभी यूनिक्स प्लेटफार्मों पर भी काम नहीं करता है; मेरा मानना है कि यह एक जीएनयू विस्तार है।
[अद्यतन]
वास्तव में, POSIX spec किसी भी प्रणाली SC_CHAR_BIT sysconf चयनकर्ता का समर्थन करता है कि पर CHAR_BIT == 8. जनादेश को तो दिखाई देता है, तो आप वास्तव में इसकी आवश्यकता नहीं है :-)।
एक बाइट हमेशा 8 बिट्स नहीं है? – tMC
नहीं, एक * ऑक्टेट * 8 बिट्स है। संयोग से, आजकल अधिकांश बाइट एक ऑक्टेट चौड़ा हैं। :) –