बैश नंबर 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
। इसके अलावा, में अतिरिक्त के लिए कोई जरूरत नहीं$
है()
।