Десяткове число з рухомою комою
Десяткова арифметика з рухомою комою (англ. Decimal floating point, DFP — машинна арифметика для роботи з десятковими числами з рухомою комою. Робота безпосередньо з десятковими дробами дозволяє уникати помилок округлення цифр, які зазвичай виникають під час перетворень між десятковими дробами (для даних, що вводяться людиною, таких як результати вимірювань або фінансова інформація) і двійковими дробами.
Біт |
---|
Застосунок |
Точність двійкової рухомої коми |
Точність десяткового числа з рухомою комою |
|
Перевага десяткового подання з рухомою комою перед поданням з фіксованою комою і цілими типами полягає в тому, що воно підтримує значно ширший діапазон значень. Наприклад, якщо подання числа з фіксованою комою, в якому виділено 8 десяткових цифр і 2 десяткових розряди, може подавати числа:
- 123 456,78; 8765,43; 123,00,
то подання з рухомою комою з 8 десятковими цифрами також може мати вигляд:
- 1,2 345 678; 1 234 567,8; 0,000 012 345 678; 12 345 678 000 000 000
і так далі. Цей розширений діапазон може значно уповільнити накопичення помилок округлення при послідовних обчисленнях. Наприклад, для чисел з рухомою комою можна використати алгоритм компенсаційного підсумовування Кехена, щоб додати багато чисел без асимптотичного накопичення помилки округлення.
Література
- Decimal Floating-Point: Algorism for Computers // Proceedings of the 16th IEEE Symposium on Computer Arithmetic (Mike Cowlishaw, 2003)(англ.)
Посилання
- Intel Decimal Floating-Point Math Library(англ.)
- libmpdec — arbitrary precision decimal floating point C / C ++ library(англ.)