कैसे नकारात्मक संख्या 32-बिट पर हस्ताक्षर किए पूर्णांक में प्रतिनिधित्व कर रहे हैं? क्या यह दो या एक का पूरक है? या बाईं ओर आखिरी बिट ध्वज की तरह है? उदाहरण के लिए: (-10)कैसे ऋणात्मक संख्याओं 32-बिट पर हस्ताक्षर किए पूर्णांक में प्रतिनिधित्व कर रहे हैं?
उत्तर
अधिकांश कंप्यूटर इन दिनों पर हस्ताक्षर किए पूर्णांक के लिए two's complement उपयोग करें, लेकिन यह हार्डवेयर वास्तुकला, प्रोग्रामिंग भाषा, या अन्य प्लेटफ़ॉर्म-विशिष्ट मुद्दों से भिन्न हो सकते हैं।
एक two's-पूरक प्रतिनिधित्व के लिए, सबसे महत्वपूर्ण-("वाम-पंथी") बिट एक गैर नकारात्मक पूर्णांक के लिए संकेत बिट के रूप में जाना जाता है, और यह एक नकारात्मक पूर्णांक के लिए निर्धारित किया जाएगा और स्पष्ट। हालांकि, यह सिर्फ एक "ध्वज" से अधिक है। अधिक जानकारी के लिए Wikipedia article देखें।
तो फ्रंट बिट नकारात्मक के लिए 1 और सकारात्मक के लिए 0 होगा? 0 के बारे में क्या? – User
शून्य का प्रतिनिधित्व शून्य के सभी बिट्स द्वारा किया जाता है। –
आमतौर पर यह दुक्की-पूरक है।
0xFFFFFFFF = -1
0xFFFFFFFE = -2
0xFFFFFFFD = -3
...
& तो
सबसे महत्वपूर्ण बिट (बाईं ओर पिछले बिट) पर ऋणात्मक संख्याओं के लिए निर्धारित है।
क्या आपका मतलब है "बाईं ओर पहली बार"? –
"बाएं से पहली बार" या "दाईं ओर से अंतिम बिट" के बारे में कैसे। :) –
C99 मानक से: मूल्य बिट्स, गद्दी बिट्स, और संकेत बिट:
पर हस्ताक्षर किए पूर्णांक प्रकार के लिए, के टुकड़े वस्तु प्रतिनिधित्व होगा तीन समूहों में विभाजित। वहाँ किसी भी गद्दी बिट्स होने की जरूरत नहीं; वहां बिल्कुल एक संकेत बिट होगा। प्रत्येक बिट है कि एक मूल्य के बिट, इसी अहस्ताक्षरित प्रकार (यदि वहाँ पर हस्ताक्षर किए प्रकार और एन अहस्ताक्षरित प्रकार में में एम मूल्य बिट्स हैं वस्तु प्रतिनिधित्व में एक ही बिट के रूप में एक ही मूल्य है करेगा तो एम = एन)। संकेत सा शून्य है, तो यह परिणामस्वरूप मूल्य को प्रभावित नहीं करेगा। संकेत सा एक है, तो मूल्य निम्न तरीकों में से एक में संशोधित किया जाएगा:
- चिह्न के साथ संबंधित मान सा 0 नकार दिया गया (साइन और परिमाण);
- साइन बिट में मूल्य है - (2 एन) (दो पूरक);
- साइन बिट में मूल्य है - (2 एन -1) (वाले 'पूरक)।
इनमें से कौन सा लागू होता है कार्यान्वयन से परिभाषित है, जैसा कि चाहे संकेत बिट 1 के साथ मूल्य और सभी मूल्य बिट्स शून्य (के लिए पहले दो), या संकेत बिट के साथ और सभी मूल्य बिट्स 1 (के लिए एक 'पूरक', एक जाल प्रतिनिधित्व या एक सामान्य मूल्य है। में साइन और परिमाण और लोगों के पूरक का मामला, यदि यह प्रतिनिधित्व सामान्य मान है तो यह को नकारात्मक शून्य कहा जाता है।
मुझे लगता है कि इस सवाल का जवाब 0110
1 से preceeded है, बार-बार 28 बार, इसलिए यह दिखाई देता है:
1111 1111 1111 1111 1111 1111 1111 0110;
कदम:
10 के लिए बिट प्रतिनिधित्व है:
0000 0000 0000 0000 0000 0000 0000 1010;
0->1
और1->0
सभी बिट्स के लिए:1111 1111 1111 1111 1111 1111 1111 0101;
पिछले बिट के लिए 1 जोड़ सकते हैं और थोड़ा आगे तक पहुंचने में, हो गया!
1111 1111 1111 1111 1111 1111 1111 0110;
===
आप 10 के साथ जोड़कर सत्यापित कर सकते हैं, और आप सभी बिट्स के लिए 0 मिल जाएगा। जैसा ऊपर बताया गया है, यह 2-आधारित है और दो पूरक है।
- 1. ऋणात्मक संख्याओं
- 2. हस्ताक्षर किए गए पूर्णांक पढ़ने पर नकारात्मक संख्याओं को पार्सिंग त्रुटियों के रूप में कैसे पहचानें?
- 3. बिट्स नकारात्मक संख्याओं का प्रतिनिधित्व
- 4. Kadane एल्गोरिथ्म ऋणात्मक संख्याओं
- 5. हस्ताक्षर किए गए पूर्णांक अंडरफ़्लो
- 6. भंडारण ऋणात्मक संख्याओं
- 7. मैक्रो यह जांचने के लिए कि एक पूर्णांक प्रकार पर हस्ताक्षर किए गए हैं या हस्ताक्षर किए गए हैं
- 8. युगल में पूर्णांक का प्रतिनिधित्व
- 9. सही पारी और हस्ताक्षर किए पूर्णांक
- 10. क्या नकारात्मक पूर्णांक परिभाषित व्यवहार को बाएं और दाएं स्थानांतरित कर रहे हैं?
- 11. सी बिना हस्ताक्षर किए गए int को ऋणात्मक मूल्य प्रदान करना?
- 12. जावा रिटर्न का उपयोग कर फेसबुक पर हस्ताक्षर किए गए हस्ताक्षर किए गए JSON
- 13. प्रकार reg के एक चर में संग्रहीत Verilog मुद्रण पर हस्ताक्षर किए पूर्णांक मान में
- 14. अगर कथन की तुलना में हस्ताक्षरित हस्ताक्षर किए गए हैं?
- 15. पूर्णांक स्ट्रिंग तुलना बराबर (PHP बग?) कर रहे हैं
- 16. SFINAE भेदभाव पर हस्ताक्षर किए और अहस्ताक्षरित
- 17. पूर्णांक से अधिक पूर्णांक का प्रतिनिधित्व कैसे करें
- 18. बीकोड कोडित दशमलव (बीसीडी) को बिना हस्ताक्षर किए गए पूर्णांक
- 19. क्या संख्याओं का प्रतिनिधित्व करने वाले मूल्य प्रकारों द्वारा साझा किए गए कोई इंटरफेस हैं?
- 20. डिफ़ॉल्ट int प्रकार: हस्ताक्षरित या हस्ताक्षर किए गए?
- 21. क्या असेंबली पर हस्ताक्षर किए जाने चाहिए?
- 22. iPhone विकास: UIWebView पर चयनित/हाइलाइट किए गए पाठ किए जा रहे हैं
- 23. हस्ताक्षर किए गए चार *
- 24. स्पैस पूर्णांक सेट का प्रतिनिधित्व?
- 25. मैं कैसे बता सकता हूं कि एक सी पूर्णांक चर पर हस्ताक्षर किए गए हैं या नहीं?
- 26. अनुक्रम आरेख में लूप में किए जा रहे कॉल का प्रतिनिधित्व कैसे करें?
- 27. Clojure: पूर्णांक IFN पर कास्ट नहीं कर सकते हैं
- 28. बिना हस्ताक्षर किए गए चार में 4 बिट्स कैसे बदलें?
- 29. पूर्णांक C++ में गुणा कैसे करते हैं?
- 30. गिट सममित में विलय कर रहे हैं?
किस संदर्भ में? अलग-अलग सिस्टम/प्लेटफॉर्म अलग-अलग काम करेंगे। –
क्या आपका मतलब है "बाईं ओर पहली बार"? –