Представление рациональных чисел
Два основных представления рациональных чисел, используемых в компьютерах, - это представления с фиксированной и плавающей точкой. Интерпретирующие системы (например, MathCAD) иногда реализуют и собственно рациональные числа, представляемые в виде целых числителя и знаменателя, но процессоры, умеющие работать с такими числами на уровне системы команд, неизвестны.
Представление с фиксированной точкой: мы берем обычное двоичное число и объявляем, что определенное количество его младших разрядов представляет собой дробную часть в позиционной записи. Сложение и вычитание таких чисел может выполняться при помощи обычных целочисленных команд, а вот после умножения и перед делением надо передвинуть двоичную запятую на место.
|
Современные процессоры обычно не предоставляют арифметических операций с фиксированной точкой. Такие операции можно реализовать на основе стандартных целочисленных операций и команд битового сдвига.
В научных и инженерных вычислениях и цифровой обработке сигналов шире применяются числа с плавающей двоичной точкой. Вычислительные системы широко используют представления чисел с плавающей точкой, только не десятичной, а двоичной.
|
Число с плавающей точкой состоит из двух битовых полей - мантиссы М и порядка Е. Число, представленное двумя такими полями, равно Мх2Е. Нормализация состоит в отбрасывании всех старших нулей, поэтому старший бит нормализованной двоичной мантиссы всегда равен 1. Большинство современных реализаций чисел с плавающей точкой используют этот факт для того, чтобы объявить незначащими не только старшие нули, но и эту единицу, и, таким образом, выигрывают дополнительный бит точности мантиссы.
Стандарт языка ANSI С требует наличия 32-битового (8-разрядный порядок и 24-разрядная мантисса) и 64-битового (16-разрядный порядок и 48-разрядная мантисса) представлений чисел с плавающей точкой, которые называются, соответственно, числами одинарной и двойной точности. Числа двойной точности позволяют избежать накопления ошибок округления при вычислениях.
Большинство современных процессоров общего назначения и ориентированных на приложения цифровой обработки сигналов (ЦОС) предоставляет операции над такими числами, а зачастую и над числами большей разрядности. Операции практически всегда включают сложение, вычитание, умножение и деление. Часто на уровне системы команд реализуются и элементарные функции: экспонента, логарифм, квадратный корень, синус, косинус и т. д.
предыдущаяследующая