java - हरण - पूर्णांक का अधिकतम मूल्य




पूर्णांक संख्या क्या होती है (8)

सी में, पूर्णांक (32 बिट मशीन के लिए) 32 बिट है और यह -32768 से +32767 तक है।

गलत। 2 के पूरक प्रतिनिधित्व में 32-बिट हस्ताक्षरित पूर्णांक में श्रेणी -2 31 से 2 31 -1 है जो -2,147,483,648 से 2,147,483,647 के बराबर है।

सी में, पूर्णांक (32 बिट मशीन के लिए) 32 बिट्स है, और यह -32,768 से +32,767 तक है। जावा में, पूर्णांक भी 32 बिट्स है, लेकिन -2,147,483,648 से +2,147,483,647 तक है।

मुझे समझ में नहीं आता कि जावा में रेंज अलग कैसे है, भले ही बिट्स की संख्या समान है। क्या कोई इसे समझा सकता है?


__int32 के लिए सी रेंज में -2147483648 से 2147483647 है। पूर्ण श्रेणियों के लिए यहां देखें।

unsigned short 0 to 65535
signed short –32768 to 32767
unsigned long 0 to 4294967295
signed long –2147483648 to 2147483647

इस बात की कोई गारंटी नहीं है कि एक 'int' 32 बिट्स होगा, यदि आप किसी विशिष्ट आकार के चर का उपयोग करना चाहते हैं, खासकर जब कोड लिखना जिसमें बिट मैनिपुलेशन शामिल है, तो आपको 'मानक इंटीजर प्रकार' का उपयोग करना चाहिए।

जावा में

Int डेटा प्रकार 32-बिट हस्ताक्षरित दो पूरक पूरक है। इसका न्यूनतम मूल्य -2,147,483,648 है और अधिकतम मूल्य 2,147,483,647 (समावेशी) है।


एक 32 बिट पूर्णांक -2,147,483,648 से 2,147,483,647 तक है। हालांकि तथ्य यह है कि आप 32-बिट मशीन पर हैं इसका मतलब यह नहीं है कि आपका C कंपाइलर 32-बिट पूर्णांक का उपयोग करता है।


ऐसा इसलिए है क्योंकि 32 बिट मशीन पर सी - पूर्णांक में इसका मतलब यह नहीं है कि 32 बिट्स का उपयोग इसे संग्रहीत करने के लिए किया जाता है, यह 16 बिट्स भी हो सकता है। यह मशीन (कार्यान्वयन-निर्भर) पर निर्भर करता है।


पोस्टर में उनके जावा प्रकार मिश्रित होते हैं। जावा में, उसका सी एक छोटा है: छोटा (16 बिट) = -32768 से 32767 int (32 बिट) = -2,147,483,648 से 2,147,483,647

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html


मानक सी में, आप INT_MAX को अधिकतम 'int' मान के रूप में उपयोग कर सकते हैं, यह निरंतर "limit.h" में परिभाषित किया जाना चाहिए। इसी तरह के स्थिरांक अन्य प्रकारों ( http://www.acm.uiuc.edu/webmonkeys/book/c_guide/2.5.html ) के लिए परिभाषित किए गए हैं, जैसा कि कहा गया है, ये निरंतर कार्यान्वयन-निर्भर हैं लेकिन न्यूनतम बिट्स के अनुसार न्यूनतम मूल्य है मानक में निर्दिष्ट प्रत्येक प्रकार के लिए।


यह वास्तव में समझने में वास्तव में सरल है, आप इसे Google कैलकुलेटर के साथ भी गणना कर सकते हैं: आपके पास int और कंप्यूटर के लिए 32 बिट्स बाइनरी हैं, इसलिए आपके पास प्रति बिट 2 स्पॉट (स्पॉट) हो सकते हैं। यदि आप 2 ^ 32 की गणना करते हैं तो आपको 4,294, 9 67,296 मिलेंगे।


सी भाषा परिभाषा विभिन्न डेटा प्रकारों के लिए न्यूनतम श्रेणियों को निर्दिष्ट करती है। int , यह न्यूनतम सीमा -32767 से 32767 है, जिसका अर्थ है कि एक int कम से कम 16 बिट चौड़ा होना चाहिए। एक कार्यान्वयन व्यापक रूप से व्यापक श्रेणी के साथ व्यापक int प्रकार प्रदान करने के लिए स्वतंत्र है। उदाहरण के लिए, एसएलएस 10 विकास सर्वर पर मैं काम करता हूं, रेंज -2147483647 से 2137483647 है।

वहां अभी भी कुछ सिस्टम हैं जो 16-बिट int प्रकारों का उपयोग करते हैं (सभी विश्व एक VAX x86 नहीं है), लेकिन 32-बिट int प्रकारों का उपयोग करने वाले बहुत सारे हैं, और शायद कुछ जो 64-बिट का उपयोग करते हैं।

सी भाषा को विभिन्न आर्किटेक्चर पर चलाने के लिए डिज़ाइन किया गया था। जावा को वर्चुअल मशीन में चलाने के लिए डिज़ाइन किया गया था जो उन वास्तुशिल्प मतभेदों को छुपाता है।





bit