Рубрики
Без рубрики

Конверсии Python: Десятичный + двоичный + восьмеричный + шестнадцатеричный

https://youtu.be/ohuzqcnurr0 Эта статья будет проходить вас через различные численные системы, которые можно использовать для представления номеров в Python. Система, которую мы обычно используем в нашей повседневной жизни, – это десятичная система, и, как следует из названия, он основан на 10 основных цифрах, из которых мы можем получить все номера. Из … Конверсии Python: Десятичный + двоичный + восьмеричный + шестнадцатеричный Подробнее »

Автор оригинала: Andrea Ridolfi.

Эта статья проведет вас через различные численные системы, которые можно использовать для представления чисел в Python Отказ

Система, которую мы обычно используем в нашей повседневной жизни, – это десятичная система, и, как следует из названия, он основан на 10 основных цифрах, из которых мы можем получить все номера.

Из нашей обычной жизни используются другие численные системы, особенно в компьютерном мире. Как вы уже можете знать, все компьютеры основаны на двоичной системе; Однако иногда даже восьмеричный восток (у которого 8 основных цифр) и шестнадцатеричные (на основе 16 цифр) используются для конкретных применений.

В следующих разделах вы увидите, как использовать встроенные функции Python для преобразования из одной численной системы на другую.

Короче

Python Обеспечивает некоторые встроенные функции для преобразования чисел из одной численной системы в другую. Более конкретно, эти функции позволяют преобразовывать целочисленные числа к:

  • Десятичная система: int ()
  • Бинарная система: Bin ()
  • Восьмеричная система: Окт ()
  • шестнадцатеричная система: Hex ()

В дополнение к этому, функция float.hex () позволяет преобразовывать числа плавающих точек из десятичных к шестнадцатеричной системе.

Десятичная система

Десятичная система – это числовая система, которую мы используем больше всего в нашей обычной жизни (без совпадения с тем, что у нас именно десять пальцев); Он основан на 10 различных цифр, которые являются 1, 2, 3, 4, 5, 6, 7, 8, 9 и 10, из которых можно получить все возможные числа, которые нам нужны. Даже если все компьютерные системы основаны на двоичной системе (а позже мы увидим почему), пользовательский интерфейс большинства программ, таких как Python, Использует десятичную систему для хранения значений и выполнения математических операций.

Бинарная система

Двоичная система представляет основу всех компьютерных систем, которые используются в настоящее время; Как указано имя, он использует две разные цифры, 1 и 0, чтобы создать все возможные комбинации чисел. Выбор двух цифр просто происходит от того, как работает система, как компьютер в конечном итоге; Если вы думаете об этом, все задачи, которые ваш компьютер способен выполнять, может быть связано с серией сигналов включения/выключения, из которых цифры 1 и 0 соответственно. Таким образом, просто используя нужды и теми, двоичная система представляет все доступные номера.

Знаете ли вы, как работает бинарный в десятичное преобразование?

Преобразование из двоичного в десятичное время довольно легко, этот раздел покажет вам, используя пример, как это можно сделать вручную (если вы не заинтересованы, просто пропустите его и переходите непосредственно к детали кода). Поскольку двоичная система основана на двух цифрах, для преобразования двоичного номера в десятичное число нам придется использовать полномочия 2. В качестве примера давайте посмотрим, как преобразовать двоичное число 11011 в его десятичное представление.

Прежде всего, каждая цифра позиция будет представлять мощность двух, которые будут использоваться в преобразовании:

 1  1  0  1  1
 24 23 22 21 20 

На данный момент каждая мощность двух должна быть умножена на соответствующую двоичную цифру (либо 1 или 0) и суммирована с другими, в этом случае мы получаем:

1 * 24 +  1 * 23 + 0 * 22 + 1 *21 + 1 *20 = 16 + 8 + 2 + 1 = 27

Как преобразовать из двоичного в десятичное и наоборот в Python

Чтобы преобразовать из одной численной системы в другую в Python Очень просто, мы просто должны помнить, какая функция должна использоваться и что пройти в качестве входного параметра. Представлять двоичное число в Python , мы должны использовать префикс «0B», который сообщает системе, что следует, что следует, что следует, фактически представляет двоичный номер. Вы можете попробовать это, печатая следующие строки кода:

num = 10
num_bin = 0b10
print(num, num_bin)
# 10 2

В бинарной системе 10 представляет номер 2; Выход команды печати на переменной num_bin. будет «2»; Это потому, что Python, По умолчанию печатает результат с использованием десятичной системы. Однако, если мы хотим выполнить некоторые математические операции, мы должны сначала преобразовать число в десятичное число, и это можно сделать с помощью функции int () Отказ

bin_to_dec = int(0b10)  
print(bin_to_dec)
# 2

С другой стороны, чтобы преобразовать десятичное число в двоичную запись, соответствующая функция – bin () , Вы можете попробовать проверить лично, если результат следующих строк кода является правильным.

dec_to_bin = bin(2234)
print(dec_to_bin)
# 0b100010111010

Восьмеричная система

Как предложено названием, восьмеричная система основана на восьми основных цифрах, от 0 до 7. Любопытно факт состоит в том, что некоторые коренные американцы племена принимают восьмиентальную систему, потому что они считают, используя промежутки между пальцами или костяшками их закрытых кулаков (если вы хотите узнать больше об этом: Язык Юки (Пространства между пальцами) , Паменские языки (костяшки закрытых кулаков)). Процедура, используемая для преобразования числа в восьмеричной системе, аналогична тому, которое используется выше. В Python, Октальные числа идентифицируются префиксом «0O» и функция, которая используется для выполнения преобразования, называется Окт () ; Вход, конечно, является десятичным числом, который мы хотим преобразовать.

dec_to_oct = oct(57)
print(dec_to_oct)
# 0o71

Противоположная операция все еще может быть выполнена, используя снова int () функция.

oct_to_dec = int(0o71)
print(oct_to_dec)
# 57

Как вы можете себе представить, также можно преобразовать непосредственно из двоичного в восьмерию и наоборот. Функции в пьесе всегда одинаковы, давайте посмотрим, как преобразовать двоичный 0B100010111010 в восьмеричной системе:

bin_to_oct = oct(0b100010111010)
print(bin_to_oct)
# 0o4272

Вы помните, что было эквивалентным для этого номера в десятичной обозначении? Мы можем использовать Python чтобы получить ответ мгновенно; Однако результаты, которые мы получаем от таких функций, как bin () или Окт () Выражены в формате строки, это означает, что если мы введем их в качестве входных параметров функции int () , Мы получаем ошибку, заявив, что Python не может преобразовать строку в число. Чтобы решить эту проблему, мы можем указать формат входного параметра следующим образом:

oct_to_dec = int(bin_to_oct, 8)
print(bin_to_oct, oct_to_dec)
# 0o4272 2234

В бинарном случае мы бы использовали «2».

Шестнадцатеричная система

Гестнадцатеричная система основана на 16 цифр, поскольку у нас есть только 9 различных чисел в нашей десятичной системе, также используются буквы, а именно:

Шестнадцатеричный 1 2 3 4 5 6 7 8 9 A B C D E F G
Десятичный 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Преобразование в шестнадцатеричную систему аналогично показанному к одномерной системе, единственное отличие состоит в том, что на этот раз полномочия будут иметь базу 16. Таким образом, 17 становится 11 в шестнадцатеричном обозначении. Обозначить шестнадцатеричное число в Python, Мы должны использовать префикс «0x». Функция, которая позволяет преобразовывать из одной цифровой системы в шестнадцатеричный, называется Hex () и принимает в качестве входного параметра любое целое число, выраженное в одном из вышеупомянутых числовых систем.

dec_to_hex = hex(2234)
print(dec_to_hex)
# 0x8ba

bin_to_hex = hex(0b100010111010)
print(bin_to_hex)
# 0x8ba

oct_to_hex = hex(0o4272)
print(oct_to_hex)
# 0x8ba

Как насчет плавающих чисел?

Как вы, возможно, заметили, все упомянутые функции принимают в качестве ввода для преобразования только целых чисел; Это связано с тем, что выражение количества плавающих точек не является уникальным, существуют разные записи, которые могут зависеть от вычислительной системы, которую мы используем.

Однако для случая шестнадцатеричных чисел, Python предоставляет Встроенная функция Для преобразования плавающих чисел из десятичной системы в шестнадцатеричную систему. Функция называется float.hex () и принимает в качестве входного параметра плавающий номер в десятичной обозначении. Следующие строки кода обеспечивают пример его использования.

float_dec_to_hex = float.hex(416.8)
print(float_dec_to_hex)
# 0x1.a0ccccccccccdp+8

Как вы можете видеть, обозначение, которое используется для выражения ответа, сильно отличается от того, что используется для целочисленных чисел; Это потому, что в этих случаях Питон использует научную нотацию. Буква «P» означает «раз 2 к силе», а «+8» – показатель, в то время как пуля тогда десятичная точка. Это только одна из возможных обозначений для выражения чисел плавающих точек в разных обозначениях; Если вы заинтересованы в том, как это работает, вот несколько полезных ссылок:

Выводы

В статье мы взяли тур по наиболее широко используемым числовым системам и функциям, которые Python Предложения для преобразования с одной обозначения на другую. При программировании – это хорошая практика, по крайней мере, распознать используемую численную систему, чтобы решить, какие из вышеупомянутых функций использовать для преобразования в численную систему, которая в настоящее время используется.

Оригинал: “https://blog.finxter.com/python-conversions-decimal-binary-octal-hex/”