Десятичное число с плавающей запятой
Десятичная арифметика с плавающей запятой (англ. Decimal floating point, DFP) — машинная арифметика для работы над десятичными числами с плавающей запятой. Работа непосредственно с десятичными дробями позволяет избежать ошибок округление цифр, которые обычно возникают при преобразовании между десятичными дробями (обычными для вводимых человеком данных, таких как результаты измерений или финансовая информация) и двоичными дробями.
Преимущество десятичного представления с плавающей запятой перед представлением с фиксированной запятой и целым числом состоит в том, что оно поддерживает гораздо более широкий диапазон значений. Например, в то время как представление с фиксированной запятой, которое выделяет 8 десятичных цифр и 2 десятичных разряда, может представлять числа:
- 123 456,78; 8765,43; 123,00
представление с плавающей запятой с 8 десятичными цифрами также может представлять:
- 1,2345678; 1 234 567,8; 0,000012345678; 12 345 678 000 000 000
и так далее. Этот более широкий диапазон может значительно замедлить накопление ошибок округления при последовательных вычислениях; например, алгоритм компенсационного суммирования Кэхэна можно использовать в числах с плавающей запятой, чтобы добавить много чисел без асимптотического накопления ошибки округления.
Литература
- Decimal Floating-Point: Algorism for Computers // Proceedings of the 16th IEEE Symposium on Computer Arithmetic (Mike Cowlishaw, 2003) (англ.)