Как считается
- Разряд
- номер позиции справа налево, крайняя правая — нулевая
- Остаток
- он же очередная цифра ответа, но записанная с конца
- Тетрада
- четыре двоичные цифры — ровно одна шестнадцатеричная
Третья строка — не хитрость, а следствие: 8 = 2³ и 16 = 2⁴. Поэтому между двоичной, восьмеричной и шестнадцатеричной десятичная не нужна вовсе, и перевод делается в уме. Программисты пользуются именно этим, а в учебнике оно обычно спрятано в конце параграфа.
Пример расчёта
Переведём 172 в двоичную систему, а потом посмотрим на ответ с другой стороны.
- 172 ÷ 2
- 86, остаток 0
- 86 ÷ 2
- 43, остаток 0
- 43 ÷ 2
- 21, остаток 1
- 21 ÷ 2
- 10, остаток 1
- 10 ÷ 2
- 5, остаток 0
- 5 ÷ 2
- 2, остаток 1
- 2 ÷ 2
- 1, остаток 0
- 1 ÷ 2
- 0, остаток 1
- Остатки снизу вверх
- 10101100
А теперь разобьём ответ по четыре цифры: 1010 и 1100. Это 10 и 12, то есть A и C — значит 172 в шестнадцатеричной системе равно AC. Ни одного деления на 16 не понадобилось. Разбивка по три цифры даёт 010 101 100, то есть 254 в восьмеричной.
Что влияет на результат
- Направление перевода. В десятичную переводят развёрнутой записью — это просто раскрытие смысла цифр. Из десятичной переводят делением с остатком. Действия разные, и путать их — самая частая ошибка на контрольной.
- Порядок остатков. Их выписывают снизу вверх, от последнего к первому. Записанные в порядке получения, они дают число задом наперёд, и проверка это сразу покажет.
- Цифры выше девятки. В системах с основанием больше десяти цифрами становятся буквы: A это 10, B это 11, F это 15. В шестнадцатеричной цифр ровно шестнадцать — от 0 до F.
- Родство двойки, восьмёрки и шестнадцати. Они степени двойки, поэтому переводятся друг в друга группировкой без деления. С десятичной так не выйдет: десять не степень двойки.
- Длина записи. Чем меньше основание, тем длиннее число: 172 занимает три цифры в десятичной, восемь в двоичной и две в шестнадцатеричной. Поэтому байт и записывают двумя шестнадцатеричными цифрами, а не восемью двоичными.
- Дробная часть. Переводится другим действием — умножением на основание, — и часто получается бесконечной. Одна десятая в двоичной системе непредставима так же, как одна треть в десятичной; отсюда и знаменитые ошибки округления в программировании.
Частые вопросы
Как перевести число в двоичную систему
Делить на два, записывая остатки, пока частное не станет нулём. Потом выписать остатки снизу вверх — это и есть ответ. Для 172 остатки получаются 0, 0, 1, 1, 0, 1, 0, 1, а прочитанные с конца дают 10101100.
Почему остатки читают снизу вверх
Потому что первое деление даёт младшую цифру, а не старшую. Разделив на два, мы отделяем последний разряд — тот, что стоит справа. Каждое следующее деление отделяет разряд левее. Поэтому в порядке получения остатки идут от конца числа к началу, и записывать их нужно в обратном порядке.
Как перевести из двоичной в десятичную
Развёрнутой записью: каждая цифра умножается на двойку в степени своего разряда, и всё складывается. Разряды считают справа налево начиная с нуля. Для 10101100 это 128 + 32 + 8 + 4 = 172. По сути вы просто раскрываете то, что запись и означала.
Как быстро перевести двоичное число в шестнадцатеричное
Разбить справа по четыре цифры и заменить каждую четвёрку одной шестнадцатеричной. 1010 1100 превращается в AC. Работает потому, что шестнадцать — это два в четвёртой степени, так что каждая тетрада двоичных цифр в точности соответствует одной шестнадцатеричной. Для восьмеричной то же самое, только группы по три.
Что означают буквы в шестнадцатеричной системе
Это цифры от десяти до пятнадцати: A равно 10, B — 11, C — 12, D — 13, E — 14, F — 15. Отдельных знаков для них не придумали, поэтому взяли начало латинского алфавита. Число FF означает 15 × 16 + 15, то есть 255 — максимальное значение одного байта.
Зачем вообще нужны другие системы счисления
Двоичная нужна технике: у транзистора два устойчивых состояния, и любое число в памяти хранится нулями и единицами. Шестнадцатеричная нужна людям, которые эту память читают: она вчетверо короче двоичной, а переводится в неё в уме. Восьмеричная осталась от старых систем и до сих пор используется, например, в правах доступа к файлам.
Почему 0,1 нельзя точно записать в двоичной системе
По той же причине, по которой одну треть нельзя точно записать в десятичной. Конечной дробь получается тогда, когда знаменатель раскладывается на простые множители самого основания. У десятичной это 2 и 5, у двоичной — только 2. Одна десятая содержит в знаменателе пятёрку, поэтому в двоичной даёт бесконечную периодическую дробь. Отсюда и знаменитое 0,1 + 0,2 ≠ 0,3 в программировании.
Смежные калькуляторы
Деление столбиком
Показывает не только ответ, но и весь столбик по шагам — то, что переписывают в тетрадь. В режиме десятичной дроби сносит нули и сам находит период, если он есть.
Посчитать →Степени и корни
Две вкладки на один вопрос с двух сторон. Главное здесь — точное значение: корень записывают как 6√2, а не приближённым числом, и калькулятор показывает, как множитель вынесли.
Посчитать →Конвертер единиц измерения
Переводит длину, массу, объём, площадь, скорость и температуру. Кроме выбранной пары единиц показывает значение сразу во всех — часто нужная как раз соседняя строка.
Посчитать →Калькулятор дробей
Считает обыкновенные и смешанные дроби и показывает ход решения: к какому знаменателю приводили и на что сокращали. Ответ без этих шагов на контрольной не засчитают.
Посчитать →