अंतर उनके सटीक-नेस और उपलब्धता में निहित है।
डॉक यहाँ का कहना है:
की चौड़ाई के साथ अहस्ताक्षरित पूर्णांक प्रकार वास्तव में 8, 16, 32 और 64 बिट क्रमशः ( प्रदान की ही अगर कार्यान्वयन सीधे प्रकार का समर्थन करता है ):
uint8_t
uint16_t
uint32_t
uint64_t
तथा
कम से कम 8, 16, 32 और 64 बिट्स की चौड़ाई के साथ सबसे तेज अहस्ताक्षरित पूर्णांक प्रकार
uint_fast8_t
uint_fast16_t
uint_fast32_t
uint_fast64_t
तो अंतर बहुत स्पष्ट है कि uint32_t
एक प्रकार है जो बिल्कुल 32
बिट्स है, और एक कार्यान्वयन केवल इसे प्रदान करना चाहिए, अगर यह बिल्कुल 32 बिट्स के साथ टाइप करता है , और फिर वह उस प्रकार को टाइप कर सकता है uint32_t
। इसका मतलब है, उपलब्धuint32_t
हो सकता है या नहीं भी हो सकता है ।
दूसरी ओर, uint_fast32_t
एक प्रकार है जिसमें कम से कम 32 बिट्स होते हैं, जिसका अर्थ यह भी होता है, यदि कोई कार्यान्वयन टाइपफेड uint32_t
को प्रदान करता है जैसे uint_fast32_t
कि वह प्रदान करता है uint32_t
। यदि यह प्रदान नहीं करता है uint32_t
, तो uint_fast32_t
किसी भी प्रकार का एक टंकण हो सकता है जिसमें कम से कम 32
बिट्स हों।