магазин Лувр

Какова относительная точность представления чисел в ЭВМ с плавающей запятой ординарной точности и двойной точности

Электронно-вычислительные машины (ЭВМ) используют формат с плавающей запятой для представления вещественных чисел. В этом формате, число представляется в виде мантиссы и порядка. Ординарная точность (single precision) использует 32 бита, а двойная точность (double precision) использует 64 бита.

Относительная точность

Относительная точность показывает, какая часть от представленного числа может быть ошибочна. В относительной форме, представленное число делится на относительную погрешность (relative error). Относительная погрешность для двух чисел вычисляется по формуле:

relative error = (|x - y|) / |x|

где x и y - представленные числа.

Ординарная точность

Ординарная точность использует формат с 32 битами. Мантисса представлена 23 битами, а порядок - 8 битами (знаковый бит, 7 бит порядка и смещение на 127). Этот формат может представлять числа от 1.4 x 10^-45 до 3.4 x 10^38.

Относительная погрешность для ординарной точности не превышает 1.2 x 10^-7. Это означает, что меньшие цифры, чем 10^-7, могут потеряться при вычислениях.

Двойная точность

Двойная точность использует формат с 64 битами. Мантисса представлена 52 битами, а порядок - 11 битами (знаковый бит, 10 бит порядка и смещение на 1023). Этот формат может представлять числа от 5.0 x 10^-324 до 1.8 x 10^308.

Относительная погрешность для двойной точности не превышает 2.2 x 10^-16. Это означает, что меньшие цифры, чем 10^-16, могут потеряться при вычислениях.

Сравнение

Двойная точность обеспечивает большую точность, чем ординарная точность. Относительная погрешность для двойной точности значительно меньше, чем для ординарной точности.

Если вам нужна большая точность для вычислений, то лучше использовать двойную точность. Однако, двойная точность требует больше памяти и процессорного времени, чем ординарная точность.

Вывод

Относительная точность представления чисел в ЭВМ с плавающей запятой ординарной точности и двойной точности зависит от битности. Для большей точности, лучше использовать двойную точность, но это требует большего объема памяти и процессорного времени.