Перевод чисел из одной системы счисления в другую

а) Рассматривая различные системы счисления, мы уже пользовались правилом перевода числа любой системы в десятичную:

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

Теперь сформулируем правила перевода десятичных чисел в другие системы счисления.

б) Для перевода целого десятичного числа в другую систему счисления делят его с остатком на основание системы. Полученное частное вновь делят с остатком на основание. Так продолжают до тех пор, пока деление возможно. После окончания деления выписывают последнее частное и все остатки в обратном порядке.

Примеры:

 
 

1. Запишем в шестнадцатеричной системе десятичное число 4 237. Для этого многократно его разделим с остатком на 16:

Последнее частное равно 1, и остатки в обратном порядке, соответственно – 0, 8 и 13 (шестнадцатеричная цифра D). Поэтому

.

 
 

2. То же самое десятичное число 4237 переведем в восьмеричную систему. Для этого будем его многократно делить с остатком на 8:

 
 

 


Порядок чтения последнего частного и остатков указан стрелкой. Таким образом,

.

3. Запишем в двоичной системе десятичное число 315:

 
 
 
 


Таким образом, .

в) Для перевода правильной десятичной дроби в другую систему счисления умножают ее на основание системы. Дробную часть полученного произведения вновь умножают на основание. Так продолжают до исчезновения дробной части или до получения необходимого количества дробных знаков. После окончания умножения выписывают целые части произведений в порядке их получения.

Примеры:

1. Переведите в двоичную систему правильные десятичные дроби 0,8125 и 0,473.

Решение. Для перевода в двоичную систему выполняем многократное умножение дробных частей на 2, и результат умножения подписываем строкой ниже:

В первом случае после четырех умножений дробная часть исчезла, поэтому процесс закончился. Во втором случае, очевидно, процесс бесконечен. Будем считать, что точность в восемь знаков дробной части достаточна, и прервем процесс умножения.

Для удобства в записях горизонтальной чертой отделено исходное число, вертикальной – целые части. Стрелка указывает направление чтения целых частей.

Таким образом, и .

2. Запишите в восьмеричной и шестнадцатеричной системах счисления десятичную дробь 0,263 с точностью до пяти знаков дробной части..

Решение. Будем многократно умножать соответственно на 8 и 16:

 

Получено в обоих случаях по шесть цифр для правильного округления. Итак, и.

Очевидно, что для перевода в любую другую систему счисления смешанной десятичной дроби нужно отдельно перевести целую и дробную части и результаты объединить.

Составим таблицу представления цифр восьмеричной и шестнадцатеричной систем соответственно тремя и четырьмя двоичными разрядами:

 

Цифра Двоичное представление Цифра Двоичное представление
0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 A B C D E F 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1

 

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

г) Для перевода восьмеричного (шестнадцатеричного) числа в двоичную систему достаточно каждую его цифру заменить тремя (четырьмя) разрядами ее двоичного представления.

Примеры.

,

.

Естественно, незначащие нули в начале и конце полученного числа можно отбросить.

д) Для перевода двоичного числа в восьмеричную (шестнадцатеричную) системы достаточно разбить его в обе стороны от запятой на группы по три (четыре) разряда. Неполные старшую и младшую группы дополнить нулями. Каждую группу заменить соответствующей восьмеричной (шестнадцатеричной) цифрой.

Пример. Запишите в восьмеричной и шестнадцатеричной системах двоичное число 1100100101,0101101.

Решение.

В вычислительной технике применяют также двоично-кодированные десятичные числа или код "8421". Это обычные десятичные числа, в которых каждая цифра заменена своим четырехразрядным двоичным кодом из приведенной выше таблицы.

Например, .