А не записать ли нам в двоичной системе счисления число пи?
А. Алешин
В любой системе счисления нужно уметь представлять не только целые числа, но и дробные. С математической точки зрения это ординарная задача, которая давно решена. Однако с точки зрения компьютерной техники это далеко не тривиальная проблема, во многом связанная с архитектурой компьютера. Ресурсы компьютеров не бесконечны, и основной трудностью является представление периодических и непериодических дробей. Следовательно, такие дроби следует округлять, задавать класс точности участвующих (и могущих появиться в результате вычислений!) чисел без потери точности вычислений, а также следить за тем, чтобы потеря точности не произошла при переводе чисел из одной системы счисления в другую. Особенно важно аккуратно производить вычисления при операциях с плавающей точкой.
Запишем формулу представления дробного числа в позиционной системе
счисления:
В случае десятичной системы счисления получим:
Перевод дробного числа из двоичной системы счисления в десятичную
производится по следующей схеме:
Перевод дробного числа из десятичной системы счисления в двоичную осуществляется по следующему алгоритму:
Пример: Требуется перевести дробное десятичное число 206,116 в дробное двоичное число.
Перевод целой части дает 20610=110011102 по
ранее описанным алгоритмам; дробную часть умножаем на основание 2, занося целые части
произведения в разряды после запятой искомого дробного двоичного числа:
Получим: 20610=11001110,00011101102
Таблицу степеней первых восьми отрицательных степеней двойки можно посмотреть
в Приложении.