बैश नंबर 010 = 8 क्यों सोचता है?
x=010
echo $x
010
echo $(( x+0 ))
8
echo $(( x-2 ))
6
मैंने सोचा कि यह द्विआधारी हो सकता है, लेकिन 010 = 10 = 2. तो यह 8 क्यों मिलता है, और मैं इसे कैसे सोच सकता हूं 010 = 10 (और 010 - 2 = 8)?
कई संख्याओं में, का
—
डेरेक 會 會 ere
010अर्थ है 8 क्योंकि 0सामने रखने का अर्थ है अष्टदल, इसी तरह 0xकुछ भाषाओं में डालने का अर्थ है हेक्स।
प्रोग्रामिंग करते समय यह जानना वास्तव में एक महत्वपूर्ण बात है। ज्यादातर भाषाओं में
—
सेठ
0ऑक्टल, 0xहेक्स और 0bबाइनरी को ट्रिगर किया जाता है ।
डाउनवोट स्पष्टीकरण?
—
टिम
@ यह क्यों होगा, यह 8 नहीं होगा? ;-) ओह, मेरी डाउनवोट नहीं है, लेकिन शायद क्योंकि यह बहुत बुनियादी है। यह बहुत सामान्य व्यवहार है।
—
रिनविंड
0इसे अष्टाध्यायी बताता है। तुम सिर्फ करते हैंx=10तोecho $((x+0))तब पता चलता है10। इसके अलावा, में अतिरिक्त के लिए कोई जरूरत नहीं$है()।