私はPythonを初めて使用します。これをPythonシェルで入力したときは、Python2.7を使用しています。
print 01
print 010
print 0100
print 01000
この結果が得られます
1
8
64
512
それがなぜそれを与えるのか理解しようとしましたが、残念ながら私はポイントを得ることができませんでした。
私はPythonを初めて使用します。これをPythonシェルで入力したときは、Python2.7を使用しています。
print 01
print 010
print 0100
print 01000
この結果が得られます
1
8
64
512
それがなぜそれを与えるのか理解しようとしましたが、残念ながら私はポイントを得ることができませんでした。
数値が。で始まる場合、0
8進数または8進数として解釈されます。次のようにしてください。
print 1
print 10
print 100
print 1000
そして、あなたの問題は解決されます。
8進数の詳細:http://en.wikipedia.org/wiki/Octal
8進数を簡単に理解する方法は次のとおりです。
8進数1は10進数(正規数)1です
8進数2:10進数2
..。
8進数7:10進数7
8進数10:10進数8
8進数11:10進数9
8進数12:10進数10
..。
8進数17:10進数15
8進数20:10進数16
等々。8進数は0から7までの数字を使用します。
これがお役に立てば幸いです。
0
Pythonは、 asoctal
で始まる数値を解釈しますbase 8
。2進文字列を使用してベースを計算できます10
。b^1 === b
ここb
で、はベースです。
# 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
は常にdecimal
値です。1
これは、右から左に読むと、数値の基数が。から始まるためです。b^0 === 1
b
0
# 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
、最大のシンボルが次の値に等しい場合です。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^n)-1
ここn
で、は桁数です。3桁の数値の場合、最大の10進数値は(10^3)-1 = 999
、8進数(8^3)-1 = 511 (decimal)
で8777
を底とし、2進数で2(2^3)-1 = 7 (decimal)
を111
底とします。したがって、記号が少ない(基数が低い)場合、表現できる値は固定数で減少することがわかります。桁の。