Способы перевода чисел из одной системы счисления в другую

Пример 1. Перевести число 11(10) в двоичную систему счисления. Теперь просто запишите 10011011 под числами 128, 64, 32, 16, 8, 4, 2, и 1, с тем чтобы каждая двоичная цифра соответствовала своей степени двойки.

Для вычислений «вручную» и решения примеров и контрольных заданий вам могут пригодиться таблицы степеней оснований изучаемых систем счисления (2, 8, 10, 16), приведенные в Приложении. Из таблицы видно, что все восьмеричные цифры (от \(0\) до \(7\)) можно записать при помощи трех двоичных разрядов. Это показано в следующем примере. Информатика и ИКТ. 10 класс. Базовый уровень / Под ред. проф. Н. В. Макаровой. Это способ заключается в последовательном делении исходного числа на основание и сборе остатков от деления в обратном порядке.

Используем позиционную нотацию

Как правило, это преобразование между 8- и 16-ричными системами и двоичной. Она легко получается умножением предыдущего числа на 2. Так, что если помните не все эти числа, остальные нетрудно получить в уме из тех, которые помните. Возьмём то же число 81010. Нам нужно разложить это число на слагаемые, равные степеням двойки. В нашем примере это 9, 8, 5, 3 и 1. В остальных местах будут стоять нули. Итак, мы получили двоичное представление числа 81010 = 11001010102.

Используем удвоение

Ответ — столько, сколько слагаемых (степеней двойки) в таком его представлении. Ну и, наконец, совсем лёгкие переводы между 8- и 16-ричными системами. Так как их основанием является степень двойки, то перевод делается автоматически, просто заменой цифр на их двоичное представление.

Он труда не представляет, главное не ошибиться в расчётах. Раскладываем число на многочлен со степенями основания и коэффициентами при них. Потом всё умножаем и складываем. Старший разряд числа означает знак. Если там 0, то число положительное, если 1, то отрицательное. Слева число дополняется знаковым разрядом. Беззнаковые (unsigned) числа мы не рассматриваем, они всегда положительные, а старший разряд в них используется как информационный.

Прибавление 1 к инверсии числа позволяет устранить разницу между представлениями +0 = 00000000 и -0 = 11111111. В дополнительном коде они будут записаны одинаково 00000000. Дробные числа переводятся способом, обратным делению целых чисел на основание, который мы рассмотрели в самом начале. Полученные при умножении целые части собираются, но не участвуют в следующих операциях. Если исходное число больше 1, то целая и дробная части переводятся отдельно, потом склеиваются.

Процесс можно продолжать долго, пока не получим все нули в дробной части или будет достигнута требуемая точность. Если при переводе получается дробь в виде бесконечного или расходящегося ряда, процесс можно закончить при достижении необходимой точности. Примечание: незначащие нули слева для целых чисел и справа для дробей не записываются. Перевод чисел между системами счисления, основания которых являются степенями числа 2 (q = 2n), может производиться по более простым алгоритмам.

Соедините цифры в двоичном числе с соответствующими степенями двойки

Чтобы не запутаться при использовании различных систем счисления, основание каждого отдельного числа можно записывать после числа нижним индексом. Например, двоичное число 10011100 можно записать по основанию два как 100111002.

Обратный перевод из десятичной в двоичную зачастую сложнее освоить первым. Запишите конечное значение каждой степени двойки. Запишите ответ вместе с нижним индексом, равным системе счисления. Чем больше вы будете преобразовывать двоичные числа в десятичные, тем проще вам будет запомнить степени двойки, и тем быстрее вы сможете выполнять данную задачу.

Такие алгоритмы могут применяться для перевода чисел между двоичной (q = 21), восьмеричной (q = 23) и шестнадцатеричной (q = 24) системами счисления. Итак, начнем с перевода сразу в двоичную систему. Например, мы хотим преобразовать двоичное число 100110112 в десятичное. Наряду с двоичной системой счисления в компьютере используются еще две — восьмеричная и шестнадцатеричная.

Что еще посмотреть: