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




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

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

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


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


जावा int सख्त समकक्ष सी में long int है।

संपादित करें: यदि int32_t परिभाषित किया गया है, तो यह परिशुद्धता के मामले में बराबर है। long int जावा int की सटीकता की गारंटी देता है, क्योंकि यह आकार में कम से कम 32 बिट होने की गारंटी है।


असल में int , बिट, बिट के बिट्स में आकार कंपाइलर कार्यान्वयन पर निर्भर करता है।

मेरे उबंटू 64 बिट पर मेरे पास 32 बिट्स में short है, जब 32 बिट उबंटू संस्करण पर यह 16 बिट है।


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


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

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


सी में , भाषा स्वयं कुछ डेटाटाइप के प्रतिनिधित्व का निर्धारण नहीं करती है। यह मशीन से मशीन में भिन्न हो सकता है, एम्बेडेड सिस्टम पर int 16 बिट चौड़ा हो सकता है, हालांकि आमतौर पर यह 32 बिट होता है।

एकमात्र आवश्यकता यह है कि आकार के अनुसार short int <= int <= long int । इसके अलावा, एक सिफारिश है कि int प्रोसेसर की मूल क्षमता का प्रतिनिधित्व करना चाहिए

सभी प्रकार पर हस्ताक्षर किए गए हैं। unsigned संशोधक आपको मूल्य के हिस्से के रूप में उच्चतम बिट का उपयोग करने की अनुमति देता है (अन्यथा यह साइन बिट के लिए आरक्षित है)।

संभावित डेटा प्रकारों के संभावित मानों की एक छोटी तालिका यहां दी गई है:

          width                     minimum                         maximum
signed    8 bit                        -128                            +127
signed   16 bit                     -32 768                         +32 767
signed   32 bit              -2 147 483 648                  +2 147 483 647
signed   64 bit  -9 223 372 036 854 775 808      +9 223 372 036 854 775 807
unsigned  8 bit                           0                            +255
unsigned 16 bit                           0                         +65 535
unsigned 32 bit                           0                  +4 294 967 295
unsigned 64 bit                           0     +18 446 744 073 709 551 615

जावा में , जावा भाषा विशिष्टता डेटा प्रकारों के प्रतिनिधित्व को निर्धारित करती है।

ऑर्डर है: byte 8 बिट्स, short 16 बिट्स, int 32 बिट्स, long 64 बिट्स। इन सभी प्रकारों पर हस्ताक्षर किए गए हैं , कोई हस्ताक्षरित संस्करण नहीं हैं। हालांकि, बिट मैनिप्लेशंस संख्याओं का इलाज करते हैं क्योंकि वे हस्ताक्षरित थे (यानी, सभी बिट्स को सही तरीके से संभालना)।

चरित्र डेटा प्रकार char 16 बिट चौड़ा, हस्ताक्षरित है , और यूटीएफ -16 एन्कोडिंग का उपयोग कर वर्ण रखता है (हालांकि, एक char एक मनमाना हस्ताक्षरित 16 बिट पूर्णांक असाइन करना संभव है जो एक अवैध वर्ण कोडपॉइंट का प्रतिनिधित्व करता है)

          width                     minimum                         maximum

SIGNED
byte:     8 bit                        -128                            +127
short:   16 bit                     -32 768                         +32 767
int:     32 bit              -2 147 483 648                  +2 147 483 647
long:    64 bit  -9 223 372 036 854 775 808      +9 223 372 036 854 775 807

UNSIGNED
char     16 bit                           0                         +65 535

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

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

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


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


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





bit