«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Почему двойная точность имеет больше десятичных знаков, чем заявленные 15?

Почему двойная точность имеет больше десятичных знаков, чем заявленные 15?

Опубликовано 24 декабря 2024 г.
Просматривать:402

Why Does Double Precision Appear to Have More Decimal Places Than Its Advertised 15?

Двойная точность и точность десятичных знаков

В компьютерном программировании часто предполагается, что тип данных двойной точности имеет приблизительную точность 15 десятичных знаков. Однако некоторые представления чисел, такие как 1.0/7.0, кажутся более точными, если они представлены внутри переменной. В этой статье мы рассмотрим, почему это происходит и почему точность часто описывается как около 15 знаков после запятой.

Внутреннее представление

Двойной номер IEEE имеет 53 значащих бита, что примерно соответствует 15,95 десятичным цифрам. Чтобы учесть округление, реализация устанавливает точность (DBL_DIG) равной 15. Это обеспечивает почти дополнительную десятичную цифру точности, превышающую ту, что подразумевается DBL_DIG.

Точность вывода

При отображении двойного значения компиляторы обычно округляют значение в зависимости от точности. Например, 1.0/7.0 при отображении с помощью «%.17g» имеет точность 17 цифр. Однако если используется "%.64g", никакие значащие цифры не появляются за пределами ожидаемой точности в 15 цифр.

Заключение

Числа двойной точности имеют внутреннее представление, допускающее около 15,95 десятичных цифр. точности. Однако из-за округления отображаемая точность обычно устанавливается до 15 знаков после запятой. Это объяснение помогает прояснить, почему некоторые точные числа, такие как 1,0/7,0, кажутся более точными внутри, но при отображении по-прежнему соответствуют предполагаемой 15-значной точности.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3