Табличный метод перевода.

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

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

Пример. Перевести десятичное число A = 11310 в двоичную систему счисления, используя таблицу эквивалентов цифр и степеней основания.

 

Таблица 7.3 – Таблица эквивалентов

Десятичное число Двоичное число
110 0100

 

Решение. Подставив значения двоичных эквивалентов десятичных цифр и степеней основания, получим:

 

 

Ответ: 11100012.

 

На практике наиболее часто употребляются двоичная, десятичная и шестнадцатеричная системы счисления. Приведем для них правила взаимного перевода:

 

Правила перевода целых чисел (результат – целое число):

Из десятичной системы счисления в двоичную и шестнадцатеричную:

  1. исходное целое число делится на основание системы счисления, в которую переводится (2 или 16); получается частное и остаток;
  2. если полученное частное не делится на основание системы счисления так, чтобы образовалась целая часть, отличная от нуля, процесс умножения прекращается, переходят к шагу 3. Иначе над частным выполняют действия, описанные в шаге 1;
  3. все полученные остатки и последнее частное преобразуются в соответствии с таблицей в цифры той системы счисления, в которую выполняется перевод;
  4. формируется результирующее число: его старший разряд - полученное последнее частное, каждый последующий младший разряд образуется из полученных остатков от деления, начиная с последнего и кончая первым.

 

Рисунок 8.1 – Перевод числа 19 в двоичную систему счисления

 

Рисунок 8.2 – Перевод числа 19 в шестнадцатеричную систему счисления

 

Рисунок 8.3 – Перевод числа 123 в шестнадцатеричную систему счисления

 

Из двоичной и шестнадцатеричной систем счисления в десятичную:

В этом случае рассчитывается полное значение числа по формуле.

 

Пример. Выполнить перевод числа 1316 в десятичную систему счисления.

Имеем:

Таким образом, 1316 = 19.

 

Пример. Выполнить перевод числа 100112 в десятичную систему счисления.

Имеем:

Таким образом, 100112 = 19.

 

Из двоичной системы счисления в шестнадцатеричную:

  1. исходное число разбивается на тетрады (т.е. 4 цифры), начиная с младших разрядов. Если количество цифр исходного двоичного числа не кратно 4, оно дополняется слева незначащими нулями до достижения кратности 4;
  2. каждая тетрада заменятся соответствующей шестнадцатеричной цифрой в соответствии с Таблица 7.2.

 

Пример. Выполнить перевод числа 100112 в шестнадцатеричную систему счисления.

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

Имеем:

 

Рисунок 8.4 – Перевод числа 100112 в шестнадцатеричную систему счисления

 

В соответствии с Таблица 7.2:

00112 = 112 = 316

00012 = 12 = 116.

Тогда 100112 = 1316.

 

Из шестнадцатеричной системы счисления в двоичную:

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

 

Пример. Выполнить перевод числа 1316 в двоичную систему счисления.

Согласно Таблица 7.2 имеем:

116 = 12 и после дополнения незначащими нулями 12 = 00012;

316 = 112 и после дополнения незначащими нулями 112 = 00112.

Тогда 1316 = 000100112.

Удаляем незначащие нули - 1316 = 100112.

 

Правила перевода правильных дробей (результат – правильная дробь):

Из десятичной системы счисления в двоичную и шестнадцатеричную:

  1. исходная дробь умножается на основание системы счисления, в которую переводится (2 или 16);
  2. в полученном произведении целая часть преобразуется в соответствии с таблицей в цифру нужной системы счисления и отбрасывается - она является старшей цифрой получаемой дроби;
  3. оставшаяся дробная часть вновь умножается на нужное основание системы счисления с последующей обработкой полученного произведения в соответствии с шагами 1 и 2;
  4. процедура умножения продолжается до тех пор, пока ни будет получен нулевой результат в дробной части произведения или ни будет достигнуто требуемое количество цифр в результате;
  5. формируется результат: последовательно отброшенные в шаге 2 цифры составляют дробную часть результата, причем в порядке уменьшения старшинства.

 

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

 

Рисунок 8.5 – Перевод числа 0,847 в двоичную систему счисления

 

В данном примере процедура перевода прервана на четвертом шаге, поскольку получено требуемое число разрядов результата. Очевидно, это привело к потере ряда цифр.

Ответ 0,847 = 0,11012.

 

Пример. Выполнить перевод числа 0,847 в шестнадцатеричную систему счисления. Перевод выполнить до трех значащих цифр.

 

Рисунок 8.6 – Перевод числа 0,847 в шестнадцатеричную систему счисления

 

В данном примере также процедура перевода прервана.

Ответ 0,847 = 0,D8D2.

 

Из двоичной и шестнадцатеричной систем счисления в десятичную:

В этом случае рассчитывается полное значение числа по формуле, причем коэффициенты ai принимают десятичное значение в соответствии с таблицей.

Пример. Выполнить перевод из двоичной системы счисления в десятичную числа 0,11012.

Имеем:

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

Ответ 0,11012 = 0,8125.

 

Пример. Выполнить перевод из шестнадцатеричной системы счисления в десятичную числа 0,D8D16.

Имеем:

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

Ответ 0,D8D16 = 0,84692.

 

Из двоичной системы счисления в шестнадцатеричную:

  1. исходная дробь делится на тетрады, начиная с позиции десятичной точки вправо. Если количество цифр дробной части исходного двоичного числа не кратно 4, оно дополняется справа незначащими нулями до достижения кратности 4;
  2. каждая тетрада заменяется шестнадцатеричной цифрой в соответствии с таблицей.

 

Пример. Выполнить перевод из двоичной системы счисления в шестнадцатеричную числа 0,11012.

Имеем: 0,11012 = 0,11012 (дробь делится на тетрады).

В соответствии с Таблица 7.2 11012 = D16.

Тогда имеем 0,11012 = 0,D16.

 

Пример. Выполнить перевод из двоичной системы счисления в шестнадцатеричную числа 0,00101012.

Добавим справа незначащий ноль: 0,00101012 = 0,001010102.

В соответствии с Таблица 7.2 00102 = 102 = 216 и 10102 = A16.

Тогда имеем 0,00101012 = 0,2A16.

Из шестнадцатеричной системы счисления в двоичную:

  1. каждая цифра исходной дроби заменяется тетрадой двоичных цифр в соответствии с Таблица 7.2;
  2. незначащие нули отбрасываются.

 

Пример. Выполнить перевод из шестнадцатеричной системы счисления в двоичную числа 0,2А16.

Согласно Таблица 7.2 имеем 216 = 00102 и А16 = 10102.

Тогда 0,2А16 = 0,001010102.

Удаляем незначащие нули и получаем ответ: 0,2А16 = 0,00101012.

 

Правило перевода дробных чисел:

Отдельно переводится целая часть числа, отдельно - дробная. Результаты складываются.

Пример. Выполнить перевод из десятичной системы счисления в шестнадцатеричную числа 19,847. Перевод выполнять до трех значащих цифр после запятой.

Представим исходное число как сумму целого числа и правильной дроби:

Из рассматриваемых выше примеров следует:

19 = 1316;

0,847 = 0,D8D16.

Тогда имеем:

Ответ 19,847 = 13,D8D16.