2013-09-29 9 views
12

32-बिट हस्ताक्षरित पूर्णांक का न्यूनतम मान क्या है, [इस वेबसाइट] पर एक खाता बनाने के लिए सुरक्षा "चुनौती" प्रश्न होता है (संपादित करें: लिंक अब मैलवेयर है) (मैं न्याय नहीं करता हूं ' मी सिर्फ उत्सुक और ऊब गया)।32-बिट हस्ताक्षरित पूर्णांक का न्यूनतम मूल्य क्या है?

मुझे लगता है कि वे एक सामान्य 32 बिट int के बारे में बात कर रहे थे जो संख्या 2,147,483,647 जितनी बड़ी संख्या में स्टोर कर सकता है। लेकिन जब मैंने -2147483647 की कोशिश की तो मैंने कहा कि मुझे सवाल गलत है। मैंने -2,147,483,647 जैसे कई बदलावों की कोशिश की लेकिन कुछ भी काम नहीं करता ...

क्या मैं प्रश्न का गलत व्याख्या कर रहा हूं या वेबसाइट के साथ कुछ गड़बड़ है?

पी एस मैं भी कोशिश की -२१४७४८३६४८ सुझाव के रूप में

यहाँ एक चित्र enter image description here

+0

क्या आपने कोशिश की है -2147483648, या संभवतः 0 –

+1

क्या आपने संख्या दर्ज करने से पहले प्रश्न को सावधानी से पढ़ा था? मैंने देखा कि यह अधिकतम मांगने और न्यूनतम मांगने के बीच बाउंस करता है (कुछ बार ताज़ा करें और इसे बदलें)। सुनिश्चित करें कि आप कौन सी जानते हैं! ;) – lurker

उत्तर

4

हस्ताक्षर 32 बिट पूर्णांकों -2,147,483,648

+0

काम नहीं करता है, अभी भी कहता है कि मुझे यह गलत लगता है – java

+0

और संभवतः आपने ',' –

+0

के बिना प्रयास किया है, संयोग से, जब मैं उस साइट पर जाता हूं, तो यह मुझे अधिकतम पूछता है? क्या यह संभव है कि आप इसे गलत पढ़ें/यह हर बार एक अलग सवाल पूछता है? –

18

करने के लिए नीचे जा सकते हैं एक पूर्णांक के सबसे अधिक इस्तेमाल किया आकार 32 बिट है। अंतिम बिट का उपयोग सकारात्मक और नकारात्मक संख्याओं को अलग करने के लिए किया जाता है। यदि अंतिम बिट सेट नहीं है, तो संख्या सकारात्मक है। इसलिए, अधिकतम सकारात्मक संख्या 0x7FFFFFFF = (1<<31)-1 = 2147483647 (अंतिम बिट सेट नहीं है) है।

नकारात्मक संख्याओं के लिए दो की प्रशंसा नोटेशन व्यापक रूप से उपयोग की जाती है। आप अपने सभी बिट्स को जोड़कर और जोड़कर सकारात्मक संख्या के समकक्ष की पहचान कर सकते हैं। इस प्रकार, अधिकतम पूर्णांक के लिए समकक्ष 0x80000001 है, हालांकि यह न्यूनतम संख्या है।

दो की प्रशंसा नोटेशन में न्यूनतम संख्या 0x80000000 = -2147483648 है। इस संख्या के बारे में दिलचस्प तथ्य यह है कि यह अपने स्वयं के पूरक के बराबर है, यानी सभी बिट्स परिणामों को 0x7FFFFFFF में बदलना और 1 उपज 0x80000000 जोड़ना, जो मूल संख्या के बराबर है।

wikipedia में दो के बारे में अधिक प्रशंसा नोटेशन।

संबंधित मुद्दे

 संबंधित मुद्दे