Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Logging floating point type numbers

Boost , Boost.Test , Tools supports for logging

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Может показаться, что числа с плавающей запятой отображаются.Единичная система испытанийс большим числом десятичных знаков. Однако число показанных цифр выбрано, чтобы избежать, по-видимому, бессмысленных дисплеев, таких как<[1.00000 !=1.00000]>, при сравнении точного единства со значением, которое увеличивается всего на одну наименее значимую двоичную цифру, используя точность по умолчанию для плавания всего 6 десятичных цифр, приведенных<std::numeric_limits<float>::digits10>. Функция, используемая для числа отображаемых десятичных цифр, предложена для будущего C++. Стандартно,Предложение добавить максимальное значение десятичных знаков, которое будет называться<std::numeric_limits::max_digits10();>. Для 32-битных поплавков требуется 9 десятичных цифр, чтобы гарантировать, что одно битовое изменение создает другую десятичную строку.

Таким образом, гораздо более полезным является отображение с использованием 9 десятичных цифр:<[1.00000000!=1.00000012]>, показывающее, что два значения на самом деле разные.

ДляIEEE754показаны 32-битные значения поплавка — 9 десятичных цифр. Для 64-битныхIEEE754двойные — 17 десятичных цифр. ДляIEEE754удлиненный длинный двойник с использованием 80-битных - 21 десятичных цифр. ДляIEEE754четверной длинный двойной 128-битный, а SPARC удлиненный длинный двойной 128-битный - 36 десятичных цифр. Для типов с плавающей точкой удобная формула для вычисления<max_digits10>:<2+std::numeric_limits<FPT>::digits *3010/10000>;

[Note] Note

Обратите внимание, что пользователь, заданный тип плавающей точки UDFPT, должен определить<std::numeric_limits<UDFPT>::is_specialized= true>и предоставить соответствующее значение для<std::numeric_limits<UDFPT>::digits>, количество битов, используемых для знаковой или мантиссы. Например, для SPARC удлиненного длинного двойника 128 используются 113 бит для знакового и (один из которых неявный).


PrevUpHomeNext

Статья Logging floating point type numbers раздела Boost.Test Tools supports for logging может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Tools supports for logging ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 19:38:25/0.025455951690674/1