पूर्णांक को अंडाकार संख्याओं में परिवर्तित क्यों किया जाता है?

मैं नीचे उल्लिखित कार्यक्रम के आउटपुट को समझने में असमर्थ हूं-

#include 

int main()
{
   int i, a[8]={000, 001, 010, 011, 100, 101, 110, 111};

for(i=0;i<8;i++)
{
   printf("%d\t",a[i]);             
}
system("pause");
return 0;

}


आउटपुट -

0 1 8 9 100 101 110 111

शुरुआती चार मूल्य यहां क्यों परिवर्तित हो रहे हैं ???

0
जोड़ा
विचारों: 1

2 उत्तर

कोई भी पूर्णांक अक्षर जो 0 के साथ शुरू होता है, उसके बाद अन्य अंकों के बाद अंडाकार होता है, बस 0x या 0X से शुरू होने वाले किसी भी पूर्णांक अक्षर की तरह, अंकों के बाद हेक्साडेसिमल है। सी ++ 14 बाइनरी पूर्णांक अक्षर के लिए उपसर्ग के रूप में 0b या 0B जोड़ देगा।

यहां C ++ में पूर्णांक अक्षरों पर और देखें।

0
जोड़ा
सी ++ 14 विनिर्देश के लिए +1
जोड़ा लेखक HariHaraSudhan, स्रोत

यदि आप 0 के साथ कोई संख्या प्रारंभ करते हैं तो यह एक ऑक्टल संख्या में परिवर्तित हो जाता है

0xNumber हेक्स है

0
जोड़ा
कृपया जोड़ें कि 0x हेक्स करेगा।
जोड़ा लेखक Sorin, स्रोत