В компьютерном программировании часто предполагается, что тип данных двойной точности имеет приблизительную точность 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