बस सी और वेरिएंट में डालें (उस वर्चुअल मशीन के साथ उस वास जावा के विपरीत) विभिन्न लक्ष्यों पर आदिम प्रकारों का आकार काफी भिन्न हो सकता है, और वास्तव में कोई गारंटी नहीं है जब तक कि आप stdint.h
में परिभाषित निश्चित चौड़ाई प्रकारों का उपयोग न करें, और फिर भी आपके अनुकरण को उनका समर्थन करना है।क्या आकार बाइट्स की संख्या या सी में किसी प्रकार के ऑक्टेट्स की संख्या लौटाता है?
वैसे भी hypothetically (क्योंकि अधिकांश आधुनिक मशीनों पर एक बाइट एक ऑक्टेट है, नेटवर्किंग उद्देश्यों के लिए मुझे लगता है (ASCII)) आकार का आकार बाइट्स या ऑक्टेट्स में डेटाटाइप के आकार को वापस करने के आकार का है?
बाइट्स, लेकिन एक बाइट (जिसे 'char' के रूप में दर्शाया गया है) में 'CHAR_BITS' बिट्स हैं। यदि आप 'टी' में ऑक्टेट्स की संख्या चाहते हैं, तो 'sizeof (टी) * CHAR_BITS/8' करें। अधिकांश प्लेटफ़ॉर्म पर, 'CHAR_BITS' '8' है। – GManNickG
@GManNickG 'CHAR_BIT' (कोई एस नहीं है) :) – Praetorian
फ्लोट octetPercent = sizeof (T) * CHAR_BIT/8.0; – awiebe