Python interpretuje numer rozpoczynający się 0
jak octal
która base 8
Ty możesz wypracować podstawy używając ciąg binarny 10
jak b^1 === b
gdzie b
to podstawa.
# 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
W każdej bazie symbolem 1
jest zawsze wartość 1
decimal
ponieważ b^0 === 1
dla wszystkich b
jak czytać od prawej do lewej indeks numer zaczyna się 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
Gdy podstawa jest interpretowany (0
, 0b
, 0x
) prowadzące 0
nie są ważne.
Liczba symboli potrzebnych do zasady wynosi b
gdzie największe symboli wynosi 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
Największą wartość, która może być reprezentowana przez numer jest (b^n)-1
gdzie n
oznacza liczbę cyfr. Biorąc pod uwagę liczbę 3 cyfra największa wartość dziesiętną jest (10^3)-1 = 999
, w ósemkowym (8^3)-1 = 511 (decimal)
który jest 777
w bazie 8 oraz w binarnym (2^3)-1 = 7 (decimal)
który jest 111
w podstawy 2. Tak więc widać, że z mniejszą ilością symboli (dolna podstawa) wartość, którą może reprezentować zmniejszenie ze stałą liczbą cyfr.
wydrukować te konkretne numery (jeśli zaczynając od 0), wystarczy użyć je jako ciągi: 'print '01'' ' print' 010'' etc –