"Информатика (в 2-х частях)", Горячев А.В., Герасимова В.Г., Макарина Л.А., Островский С.Л., Паволоцкий А.В., Семёнов А.А., Юдина А.Г., Чернышёва Т.Л.
Двоичные числа можно записывать короче, если перейти к восьмеричной или шестнадцатеричной системе. Это удобно потому, что основания 8 и 16 — степени двойки: 8 = 2³, а 16 = 2⁴. Поэтому разряды двоичного числа достаточно объединить в группы по три или четыре и заменить каждую группу одной цифрой. Такой приём работает и для целой, и для дробной части, а обратный перевод выполняется заменой цифр группами двоичных разрядов.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Двоичная система счисления — позиционная система, в которой используются цифры 0 и 1. В позиционной системе значение цифры зависит от её места в записи числа. Двоичная запись удобна компьютерам, но длинные последовательности нулей и единиц трудно читать. Поэтому для краткой записи двоичных чисел часто используют системы с основаниями 8 и 16.
Восьмеричная система счисления — система с основанием 8, в которой используются цифры от 0 до 7. Каждая её цифра соответствует группе из трёх двоичных разрядов. Это позволяет записывать длинную двоичную последовательность компактнее, не меняя значения числа.
Шестнадцатеричная система счисления — система с основанием 16, использующая цифры от 0 до 9 и буквы A–F. Буквы обозначают значения от 10 до 15, которых не хватает среди десяти привычных цифр. Каждая шестнадцатеричная цифра соответствует четырём двоичным разрядам, поэтому эта система особенно удобна для краткой записи двоичных данных.
Триада — группа из трёх двоичных разрядов, а тетрада — группа из четырёх. Триады нужны для перехода между двоичной и восьмеричной системами, тетрады — между двоичной и шестнадцатеричной. Если помнить размер группы, перевод можно выполнить простой заменой, не вычисляя значение всего числа.
Основания 8 и 16 удобны для перехода из двоичной системы, потому что они являются степенями двойки: 8 = 2³, 16 = 2⁴. Три двоичных разряда могут образовать восемь разных комбинаций — от 000 до 111, и каждой соответствует одна цифра от 0 до 7. Четыре разряда дают шестнадцать комбинаций — от 0000 до 1111, которым соответствуют знаки от 0 до 9 и A–F. Поэтому группа разрядов точно помещается в одну цифру новой системы.
Чтобы перевести двоичное целое число в восьмеричное, разбей запись на триады, начиная справа. Левая группа может оказаться короче трёх разрядов; добавь к ней нули слева, чтобы она стала полной. Нули слева не меняют значение целого числа, зато позволяют правильно сопоставить группе восьмеричную цифру. После этого замени каждую триаду цифрой от 0 до 7.
При переводе двоичной дроби в восьмеричную запятая служит границей, от которой строятся группы. Целую часть разделяй по три разряда влево, а дробную — по три вправо: так каждый разряд остаётся на своём месте относительно запятой. Если в целой части не хватает разрядов, добавь нули слева; если неполной оказалась дробная группа — справа. Добавленные нули не изменяют число, но обеспечивают полные триады.
Для перевода в шестнадцатеричную систему действуй так же, но собирай тетрады по четыре разряда. Целые группы отсчитывай от запятой влево, дробные — вправо, а недостающие разряды дополняй нулями с внешнего края группы. Каждую тетраду сопоставь числу от 0 до 15: значения до 9 записываются цифрами, а значения от 10 до 15 — буквами A–F. Благодаря этому четыре двоичных знака заменяются одним шестнадцатеричным.
Обратный переход выполняется заменой каждой цифры соответствующей группой фиксированной длины. Восьмерочную цифру запиши тремя двоичными разрядами, а шестнадцатеричную — четырьмя; если в группе в начале есть нули, их нельзя отбрасывать. Для дробного числа поставь запятую между группами, которые относятся к целой и дробной частям. Так сохраняются и положение разрядов, и значение исходного числа.
| Направление перевода | Размер группы двоичных разрядов | Действие |
|---|---|---|
| Двоичная → восьмеричная | 3 | Сгруппировать разряды по три и заменить каждую группу цифрой 0–7 |
| Восьмеричная → двоичная | 3 | Заменить каждую цифру её трёхразрядной двоичной записью |
| Двоичная → шестнадцатеричная | 4 | Сгруппировать разряды по четыре и заменить каждую группу цифрой 0–9 или буквой A–F |
| Шестнадцатеричная → двоичная | 4 | Заменить каждый знак его четырёхразрядной двоичной записью |
Сначала выбери строку, соответствующую направлению перевода, и определи размер группы. При переводе из двоичной системы группируй разряды, а при обратном переходе замещай каждый знак готовой группой. Для чисел с дробной частью сохраняй запятую между целыми и дробными группами.
Задача 1. Перевести число 101101₂ в восьмеричную систему. Здесь нет дробной части, поэтому делим запись на группы по три, начиная справа. Каждую полученную триаду читаем как двоичное число и заменяем одной восьмеричной цифрой.
Ответ: 101101₂ = 55₈. Проверить результат можно обратной заменой: обе цифры 5 превращаются в 101, поэтому получается исходная запись.
Задача 2. Перевести число 11010110₂ в шестнадцатеричную систему. Тетрады отсчитываем справа, так как число целое. В левой группе не хватает одного разряда, поэтому добавим ноль слева: это не меняет значение числа и позволяет сопоставить группе шестнадцатеричную цифру.
Ответ: 11010110₂ = D6₁₆. Буква D обозначает значение 13, а не отдельную двоичную цифру. При обратном переводе D даёт 1101, а 6 — 0110.
Задача 3. Перевести число 1011,011₂ в восьмеричную систему и проверить результат обратным переводом. Запятая разделяет целую и дробную части, поэтому триады собираем отдельно по обе стороны от неё. Слева возможен недобор разрядов у целой части, а справа — у дробной; нули добавляем с разных сторон, чтобы сохранить значение.
Ответ: 1011,011₂ = 13,3₈. Обратный перевод восстановил исходную запись, значит группы и положение запятой выбраны верно.
Если группировать разряды от края всей записи, а не от запятой, группы дробной части сместятся. Так бывает, когда число воспринимают как одну непрерывную строку и не замечают границу целой и дробной частей. Проверь себя: запятая должна оставаться между отдельными группами, а отсчёт в каждой части начинается именно от неё.
Нули иногда добавляют не с той стороны: например, дополняют дробную группу слева или целую справа. Причина — попытка просто сделать группу нужной длины, не учитывая, какие разряды можно дописать без изменения числа. Запомни правило: целую часть дополняют слева, дробную — справа; затем сравни положение запятой и исходных разрядов.
При обратном переводе можно случайно отбросить ведущий ноль внутри группы. Например, восьмеричной цифре 3 соответствует не только запись 11, а именно три разряда 011; для шестнадцатеричной цифры всегда нужны четыре. Чтобы проверить себя, пересчитай знаки в каждой группе: их должно быть ровно три или четыре, даже если первый знак — ноль.
Буквы A–F иногда принимают за обычные буквы или считают, что A — это десятичная цифра. Но в шестнадцатеричной системе это обозначения значений 10–15, введённые потому, что цифр от 0 до 9 недостаточно. Проверяй соответствие по порядку: A = 10, B = 11, C = 12, D = 13, E = 14, F = 15; при переводе каждой такой буквы в двоичную запись ей соответствует тетрада.
Для группировки разрядов нужно понимать позиционную запись числа: разряд определяет его место и вклад в значение. Также важно уметь читать двоичные числа и различать разряды до и после запятой. Эти знания помогают не смещать границу между целой и дробной частями при переводе.
Связь с 8 = 2³ и 16 = 2⁴ позволяет компактно записывать двоичные данные без пересчёта всего числа. Восьмеричная и шестнадцатеричная формы встречаются в информатике, например при работе с адресами памяти и представлением данных. Тот же приём группировки помогает быстро переходить между разными формами записи одного значения.
Почему двоичные разряды группируют именно по три или четыре?
Потому что 8 = 2³, а 16 = 2⁴. Три двоичных разряда могут представить значения от 0 до 7, а четыре — от 0 до 15, то есть ровно по одной цифре соответствующей системы.
С какой стороны начинать группировку двоичного числа?
У целой части отсчитывай группы от запятой влево. Если запятой нет, начинай с крайнего правого разряда.
Как правильно сгруппировать разряды, если в числе есть запятая?
Запятая остаётся на месте и разделяет группы целой и дробной частей. Целую часть группируй от запятой влево, а дробную — от запятой вправо.
Нужно ли дополнять группу нулями и с какой стороны?
Да, если крайняя группа получилась неполной. Целую часть дополняй нулями слева, а дробную — справа: так значение числа не изменится.
Что означают буквы A–F в шестнадцатеричной записи?
Это цифры со значениями от 10 до 15: A = 10, B = 11, C = 12, D = 13, E = 14, F = 15. Они нужны, потому что в шестнадцатеричной системе должно быть 16 разных цифр.
§ 3. Переход между системами счисления, основания которых — степени двойки