Представление в компьютере вещественных чисел.
Умножение и деление
Во многих компьютерах умножение производится как последовательность сложений и сдвигов. Для этого в АЛУ имеется регистр, называемый накапливающим сумматором, который до начала выполнения операции содержит число ноль. В процессе выполнения операции в нем поочередно размещаются множимое и результаты промежуточных сложений, а по завершении операции — окончательный результат.
Другой же регистр АЛУ, участвующий в выполнении операции умножения, вначале содержит множитель. Затем по мере выполнения сложений содержащееся в нем число уменьшается, пока не достигнет нулевого значения.
Деление для компьютера является еще более трудной операцией, чем умножение. Обычно деление реализуется путем многократного прибавления к делимому дополнительного кода делителя.
Вещественными числами (в отличие от целых) в компьютерной технике называются числа, имеющие дробную часть. |
При их написании в программе вместо запятой принято писать точку. Так, например, число 5 — целое, а числа 5.1 и 5.0 — вещественные.
Для удобства отображения чисел, принимающих значения из достаточно широкого диапазона (то есть, как очень маленьких, так и очень больших), используется форма записи чисел с порядком основания системы счисления. Например, десятичное число 1.25 можно в этой форме представить так:
1.25= 1.25×100 = 0.125×101 = 0.0125×102 = ... , или: 12.5×10–1 = 125.0×10–2 = 1250.0×10–3.
Любое число N в системе счисления с основанием q можно записать в виде N = M × q p, где M называется мантиссой числа, а p — порядком числа. Такой способ записи чисел называется представлением числа с плавающей точкой. |
Если “плавающая” точка расположена в мантиссе перед первой значащей цифрой, то при фиксированном количестве разрядов, отведённых под мантиссу, обеспечивается запись максимального количества значащих цифр числа, то есть максимальная точность представления числа в машине. Из этого следует вывод:
Мантисса должна быть правильной дробью, первая цифра которой после запятой отлична от нуля: M лежит в диапазоне [0.1, 1). |
Такое, наиболее точное для компьютера, представление вещественных чисел называется нормализованным.
Мантиссу и порядок q- ичного числа принято записывать в системе с основанием q, а само основание обозначают в десятичной системе.
Примеры нормализованного представления чисел:
Десятичная система Двоичная система
753.1510 = 0.75315×103; –101.012 = –0.10101×211 (порядок 112 = 310)
–0.00003410 = –0.34×10-4; –0.0000112 = 0.11×2-100 (порядок –1002 = – 410)
Вещественные числа в компьютерах различных типов записываются по-разному. При этом компьютер обычно предоставляет программисту возможность выбора из нескольких числовых форматов наиболее подходящего для конкретной задачи — с использованием четырех, шести, восьми или десяти байтов.
В качестве примера приведем характеристики форматов вещественных чисел, используемых IBM-совместимыми персональными компьютерами:
Форматы вещественных чисел | Размер в байтах | Диапазон абсолютных значений | Количество значащих десятичных цифр |
Одинарный | 10–45 … 1038 | 7 или 8 | |
Вещественный | 10–39 … 1038 | 11 или 12 | |
Двойной | 10–324 … 10308 | 15 или 16 | |
Расширенный | 10–4932 … 104932 | 19 или 20 |
Из этой таблицы видно, что форма представления чисел с плавающей точкой позволяет записывать числа с высокой точностью и из весьма широкого диапазона.
При хранении числа в компьютере с плавающей точкой отводятся отдельные разряды для мантиссы, порядка, знака числа и знака порядка: