2012-11-17 17 views
15

मैं अजगर के साथ नए हूँ, मैं अजगर 2.7 उपयोग कर रहा हूँ है जब मैं अजगर खोल पर इस टाइप किया:कैसे अजगर अग्रणी शून्य के साथ संख्या व्याख्या

print 01 
print 010 
print 0100 
print 01000 

यह इस परिणाम देता है

1 
8 
64 
512 

मैंने यह समझने की कोशिश की कि उसने ऐसा क्यों दिया लेकिन दुर्भाग्य से मुझे बिंदु नहीं मिला।

+0

उन विशिष्ट संख्या बाहर मुद्रित करने के लिए (0 के साथ शुरू करते हैं), बस तार के रूप में उपयोग: 'प्रिंट '01'' ' प्रिंट' 010'' आदि –

उत्तर

20

एक नंबर 0 के साथ शुरू होता है, यह अष्टाधारी, या आधार 8. के ​​रूप में व्याख्या की है बस कार्य करें:

print 1 
print 10 
print 100 
print 1000 

और आपकी समस्या को हल कर दिया जाएगा।

अधिक अष्टाधारी पर: दशमलव 2

:

अष्टाधारी 1 दशमलव (सामान्य संख्या) 1

अष्टाधारी 2: http://en.wikipedia.org/wiki/Octal

यहाँ अष्टाधारी को समझने के लिए एक तरह से आसान है ...

ऑक्टल 7: दशमलव 7

अष्टाधारी 10: दशमलव 8

अष्टाधारी 11: दशमलव 9

अष्टाधारी 12: दशमलव 10

...

अष्टाधारी 17: दशमलव 15

अष्टाधारी 20: दशमलव 16

और इसी तरह। ऑक्टल सिर्फ 0 से 7 के अंक का उपयोग करता है।

आशा है कि इससे मदद मिलेगी!

+0

धन्यवाद, इतना –

+0

@BassamBadr आपका स्वागत है ! – Doorknob

+5

वैसे, यह केवल पायथन 2 के लिए सही है। पायथन 3 में, '0o' उपसर्ग अनिवार्य है; अपने आप पर एक अग्रणी '0' एक 'सिंटेक्स त्रुटि' है। साथ ही, आपको यह कहना चाहिए कि ऑक्टल संख्या केवल 0 से 7 तक * अंक * का उपयोग करती है। –

10

अजगर एक नंबर octal जो है base 8 है.आप b^1 === b के रूप में आधार बाइनरी स्ट्रिंग 10 का उपयोग कर काम कर सकते हैं जहां b आधार है के रूप में 0 के साथ शुरू व्याख्या करता है।

# print the decimal value of the binary number 10 
>>> print 0b10 
2 
# print the decimal value of the octal number 10  
>>> print 010 
8 
# print the decimal value of the hexadecimal number 10 
>>> print 0x10 
16 

किसी भी आधार में प्रतीक 1 क्योंकि सभी b के लिए b^0 === 1 के रूप में पढ़ने एक नंबर के सूचकांक दाएं से बाएं 0 पर शुरू होता है हमेशा decimal मूल्य 1 है।

# print the decimal value of the binary number 1 
>>> print 0b001 
1 
# print the decimal value of the octal number 1 
>>> print 0001 
1 
# print the decimal value of the hexadecimal number 1 
>>> print 0x001 
1 

एक बार आधार व्याख्या की है (0, 0b, 0x) प्रमुख 0 महत्वपूर्ण नहीं हैं।जहां सबसे बड़ा प्रतीक सबसे बड़ा मान है कि एक संख्या से दर्शाया जा सकता है (b^n)-1 जहां n अंकों की संख्या है b-1

  Base (b) Number of Symbols (b) Symbols (0 : b-1) 
Binary  2   2      0,1 
Octal  8   8      0,1,2,3,4,5,7,6,7 
Decimal  10   10      0,1,2,3,4,5,7,6,7,8,9 

के बराबर है

एक आधार के लिए आवश्यक प्रतीकों की संख्या b है। यह देखते हुए 3 अंकों वाले नंबर सबसे बड़ा दशमलव मान (10^3)-1 = 999 है, अष्टाधारी (8^3)-1 = 511 (decimal) में जो आधार 8 में और बाइनरी (2^3)-1 = 7 (decimal) में 777 है जो आधार 2 में 111 तो आप देख सकते है कि कम प्रतीकों (एक कम आधार) आप मूल्य के साथ अंकों की एक निश्चित संख्या दी गई कमी का प्रतिनिधित्व कर सकते हैं।

संबंधित मुद्दे