Python: перевод десятичного числа в двоичное, восьмеричное и шестнадцатеричное
Десятичная система — самая привычная в быту, но процессор оперирует двоичными числами. Восьмеричная и шестнадцатеричная системы тесно связаны с двоичной и часто используются в программировании.
В десятичной системе 10 цифр (0–9), в двоичной — 2, в восьмеричной — 8, в шестнадцатеричной — 16. В Python принято обозначать числа разной системы префиксами: 0b — двоичное, 0o — восьмеричное, 0x — шестнадцатеричное. Например:
60 = 0b11100 = 0o74 = 0x3c
Что нужно знать
Пример
# Python program to convert decimal into other number systems
dec = 344
print("The decimal value of", dec, "is:")
print(bin(dec), "in binary.")
print(oct(dec), "in octal.")
print(hex(dec), "in hexadecimal.")
Вывод
The decimal value of 344 is:
0b101011000 in binary.
0o530 in octal.
0x158 in hexadecimal.
Как это работает
В программе используются три встроенные функции:
bin()— переводит число в двоичный вид и возвращает строку, начинающуюся с0b.oct()— переводит в восьмеричный вид (префикс0o).hex()— переводит в шестнадцатеричный (префикс0x).
Все три функции принимают целое десятичное число и возвращают строку. Чтобы попробовать программу с другими числами, достаточно изменить значение переменной dec.