Большинство десятичных значений, например 0,1, не могут быть точно представлены в виде значений с плавающей точкой, но будут сохранены в виде самой близкой представляемой плавающей точки .
Предусмотрены функции для нахождения смежных значений большей и меньшей плавающей точки и оценки количества зазоров между любыми двумя значениями плавающей точки.
Тип плавающей точки (FPT) должен иметь фиксированное количество битов в представлении. Количество битов может быть установлено во время выполнения, но должно быть одинаковым для всех чисел. Например, NTL::quad_float тип (фиксированное 128-битное представление), NTL::RR тип (произвольные, но фиксированные десятичные цифры, по умолчанию 150) или Boost.Multiprecisioncpp_dec_float и cpp_bin_float фиксируются во время выполнения, но не тип, который расширяет представление для обеспечения точного представления для любого числа, например XRC eXact Real в C.
Статья Floating-Point Representation Distance (ULP), and Finding Adjacent Floating-Point Values раздела Math Toolkit 2.5.0 Chapter 2. Floating Point Utilities может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.