Экспоненциальная форма представления чисел обычно используется для записи очень больших или очень малых чисел, кот в естественной форме содержат большое количество незначащих нулей (1 000 000 = 1·106). Вещественные числа (конечные и бесконечные десятич. дроби) записываются в формате с плавающей запятой, т.е. положение запятой в числе может меняться.
Формат чисел с плавающей запятой: A = m · q n
m – мантисса числа q – основание системы счисления n – порядок числа
например:
Естественная форма | Экспоненциальная форма |
десятичная система счисления 16000000000000000 = 1,6 ·10 16 | 0,00000000000000016 = 1,6 ·10 -16 |
двоичная система счисления 11000000000000000 = 1,1 ·2 16 | 0,00000000000000011 = 1,1 ·2 -16 |
Диапазон изменения чисел определяется количеством разрядов, отведенный для хранения порядка числа, точность определяется количеством разрядов, отведенных для хранения мантиссы.
Нормализованная мантисса.
Прежде чем сохранить двоичное значение с плавающей запятой, необходимо нормализовать мантиссу.Этот процесс похож на нормализацию десятичного значения с плавающей запятой. Например, значение 1234.567 будет нормализовано, как 1.234567 x 103 путем перемещения десятичной точки до одной цифры.Аналогично, значение 1101.101 нормализуется в 1.101101 x 23 путем перемещения десятичной точки и домножения. Вот несколько примеров:
|
|
Двоичное значение | Нормализуется | Экспонента |
1101.101 | 1.101101 | 3 |
.00101 | 1.01 | -3 |
1.0001 | 1.0001 | 0 |
10000011.0 | 1.0000011 |
Вы наверное заметили, что в нормализованной мантиссе цифра 1 всегда слева от десятичной точки.
При хранении значений, в мантиссе единица не прописывается, а подразумевается.
Экспоненты коротких реальных значений хранятся как 8-разрядные целые числа без знака, с уклоном 127.