Результатом является всегда правильная дробь.
1. Из десятичной системы счисления - в двоичную и шестнадцатеричную:
a. исходная дробь умножается на основание системы счисления, в которую переводится (2 или 16);
b. в полученном произведении целая часть преобразуется в соответствии с таблицей в цифру нужной системы счисления и отбрасывается - она является старшей цифрой получаемой дроби;
c. оставшаяся дробная часть вновь умножается на нужное основание системы счисления с последующей обработкой полученного произведения в соответствии с шагами а) и б).
d. процедура умножения продолжается до тех пор, пока ни будет получен нулевой результат в дробной части произведения или ни будет достигнуто требуемое количество цифр в результате;
e. формируется результат: последовательно отброшенные в шаге б) цифры составляют дробную часть результата, причем в порядке уменьшения старшинства.
Пример Выполнить перевод числа 0,847 в двоичную систему счисления. Перевод выполнить до четырех значащих цифр после запятой.
Имеем:
В данном примере процедура перевода прервана на четвертом шаге, поскольку получено требуемое число разрядов результата. Очевидно, это привело к потере ряда цифр. Таким образом, 0,847 = 0,11012.
Пример Выполнить перевод числа 0,847 в шестнадцатеричную систему счисления. Перевод выполнить до трех значащих цифр.
В данном примере также процедура перевода прервана. Таким образом, 0,847 = 0,D8D2. 2. Из двоичной и шестнадцатеричной систем счисления - в десятичную.
В этом случае рассчитывается полное значение числа по формуле, причем коэффициенты ai принимают десятичное значение в соответствии с таблицей. Пример Выполнить перевод из двоичной системы счисления в десятичную числа 0,11012. Имеем: 0,11012 = 1*2-1 + 1*2-2 + 0*2-3 +1*2-4 = 0,5 + 0,25 + 0 + 0,0625 = 0,8125. Расхождение полученного результата с исходным для получения двоичной дроби числом вызвано тем, что процедура перевода в двоичную дробь была прервана. Таким образом, 0,11012 = 0,8125. Пример Выполнить перевод из шестнадцатеричной системы счисления в десятичную числа 0,D8D16. Имеем: 0,D8D16 = 13*16-1 + 8*16-2 + 13*16-3 = 13*0,0625 + 8*0,003906 + 13* 0,000244 = 0,84692. Расхождение полученного результата с исходным для получения двоичной дроби числом вызвано тем, что процедура перевода в шестнадцатеричную дробь была прервана. Таким образом, 0,D8D16 = 0,84692. 3. Из двоичной системы счисления в шестнадцатеричную:
a. исходная дробь делится на тетрады, начиная с позиции десятичной точки вправо. Если количество цифр дробной части исходного двоичного числа не кратно 4, оно дополняется справа незначащими нулями до достижения кратности 4;
b. каждая тетрада заменяется шестнадцатеричной цифрой в соответствии с таблицей. Пример. Выполнить перевод из двоичной системы счисления в шестнадцатеричную числа 0,11012.
Имеем: 0,11012 = 0,11012 В соответствии с таблицей 11012 = D16. Тогда имеем 0,11012 = 0,D16.
ПримерВыполнить перевод из двоичной системы счисления в шестнадцатеричную числа 0,00101012. Поскольку количество цифр дробной части не кратно 4, добавим справа незначащий ноль: 0,00101012 = 0,001010102. В соответствии с таблицей 00102 = 102 = 216 и 10102 = A16. Тогда имеем 0,00101012 = 0,2A16.
4. Из шестнадцатеричной системы счисления в двоичную:
a. каждая цифра исходной дроби заменяется тетрадой двоичных цифр в соответствии с таблицей;
b. незначащие нули отбрасываются.
Пример Выполнить перевод из шестнадцатеричной системы счисления в двоичную числа 0,2А16. По таблице имеем 216 = 00102 и А16 = 10102. Тогда 0,2А16 = 0,001010102. Отбросим в результате незначащий ноль и получим окончательный результат: 0,2А16 = 0,00101012.