c++ - Why does this code result in 0? -


मेरे पास निम्न कोड है

  #include & lt; stdio.h & gt; # शामिल करें & lt; iostream & gt; # शामिल करें & lt; stdlib.h & gt; # शामिल करें & lt; stdint.h & gt; नेमस्पेस एसटीडी का उपयोग करना; Int main () {int x; CIN & gt; & gt; x; Uint32_t Ex; पूर्व = (एक्स के & lt; & lt; 1) & gt; & gt; 24; अदालत के & lt; & lt; पूर्व के & lt; & lt; endl; वापसी 0; }  

लेकिन यह x के किसी भी मान के लिए 0 देता है?

मेरा कार्य निम्न है:

  पक्षपाती प्रतिपादक एक बायनरी 32 डेटा एक्स के पूर्व  

यह इतना नहीं है कि आपको 'एक्स के किसी भी मान' के लिए शून्य मिलता है, लेकिन कि आप 0x01000000 (जो कि 16777216 है) से छोटा के किसी भी सकारात्मक मान के लिए शून्य मिलता है।

इससे कोई भी एक 'द्विवार्षिक एक्सपोनेंट के द्विवार्षिक एक्सपोनेंट' को समझाए बिना बहुत मदद करता है। यह 32-बिट फ्लोटिंग प्वाइंट (आईईईई) नंबर के एक्सपोनेंट की तरह लगता है आपको शायद अन्य बातों के बीच, प्रतिनिधित्व की अंतहीनता के बारे में चिंता होनी चाहिए।


Comments