Какова ожидаемая ошибка при хранении десятичных чисел в виде одинарных чисел?

Я смотрю на задачу C ++, которая читает файл, который содержит десятичные числа и сохраняет каждое число в структуре данных как один 4-байтовый float, Перед изменением процесса (использовать double) Я хочу знать, какова средняя ошибка в% между числом в файле и числом, хранящимся в структуре.

Например, если файл читает 19.5 и структура данных 19.49999999 тогда ошибка

abs(19.49999999 / 19.5 - 1) = 5.128205128205128e-8 %

Если распределение имеет значение, большинство чисел в файле являются положительными и меньше 1000.

0

Решение

32-разрядные числа с плавающей запятой имеют 23 бита мантиссы, что означает представление с точностью до 7-8 десятичных цифр. Чтобы быть точным, относительная ошибка 2^-24или о 6e-8,

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]