Нормализованная запись вещественных чисел




Для 10-тичной системы: 0.110<= M10<110

Для P- ичной системы: p-1<=Mp<1

 

Нормализованную форму записи чисел следует отличать от нормальной формы, принятой, на пример, в физике, где 1<M<10.


Примеры записи чисел в нормализованной форме:

Десятичная система: X10 = − 123410 = − 0,1234*104

X10 = 0,0345610 = 0,3456*10 − 1

Двоичная система: X2 = − 101,012 = -0,101012 * 2112.

Как производится преобразование вещественного числа к нормализованной форме:

Нормализация влево: пошаговое деление числа на p и одновременное возрастание показателя степени.

N[123,4510] = 0,1234510*103

N[23,410*105] = 0,23410*107

 

Нормализация вправо: пошаговое умножение числа на p и одновременное уменьшение показателя степени.

N[0,00098710] = 0,98710*10-3

 

Блок-схема нормализаций влево или вправо

 

Представление в ЭВМ вещественных чисел в нормализованной форме:
(знак числа, мантисса, знак порядка, порядок) на примере языка Pascal

Тип Длина в байтах Число значащих цифр в мантиссе Диапазон десятичного порядка
single   7 – 8 − 45 - 38
real   11 – 12 − 39 - 38
double   15 - 16 − 324 - 308
extended   19 - 20 − 4932 - 4932

 

Представление вещественных чисел в ЭВМ определяется особенностями конструкции ЭВМ и программного обеспечения.

Нпример, для 32 разрядного (4 байтового) числа возможен следующий способ представления:

 

 

В ходе вычислений постоянно производится нормализация промежуточных и конечных значений: сдвиг мантиссы вправо и влево с одновременным изменением порядка. При сдвигах могут теряться значащие цифры мантиссы, то есть возрастать вычислительная погрешность.

 

О переполнении при операциях с вещественными переменными:

Мантисса не может переполниться: произойдет нормализация.

Порядок может переполниться.

Например, для схемы представления вещественного числа, приведенной выше имеем:

Точность обработки вещественных чисел зависит ль формы их представления:

Тип переменной Точность – количество значащих цифр в мантиссе
single  
real  
double  
extended  

 

Повышение точности вычислений требует больших ресурсов компьютера, увеличивает время вычислений.


Один из аспектов оптимизации алгоритмов и программ их реализации: компромисс между точностью вычислений и затратами ресурсов ЭВМ (времени).

Чем больше разрядов отводится под запись мантиссы, тем выше точность представления чисел.
Чем больше разрядов занимает порядок, тем шире диапазон чисел от машинного нуля до наибольшего числа.

 

Вещественный формат с m - разрядной мантиссой дает возможность абсолютно точно представить m - разрядное целое число, то есть любое двоичное целое число, состоящее не более, чем из m разрядов, может быть без искажений представлено в вещественном формате (узлы сетки).

 

Иллюстрирующий пример-эксперимент №1.

Рассмотрим выражение: R=N* 1/N ─ 1.
1.В математике R=0 для любого N.

2. При программировании. Посмотрим, что будет, если запрограммировать это выражение:

Если задать N – произвольное вещественного типа,
то получим R ≠0, (R≈10-11 если R было описано как real).
Если задать N=2m, где m<=8, то получим R=0 – точный результат.

 

Иллюстрирующий пример-эксперимент №2.

1. В математике: 0,1+0,1+0,1+0,1+0,1+0,1+0,1+0,1+0,1+0,1=1

2. При программировании:

R:=0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1; получим R≈1

Суммируя таким образом, единицу не получим.

 




Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: