Большинство ваших языков и продуктов баз данных будут использовать стандарт IEEE 754 в одиночном и парном разрядах. В C и C ++ вы можете использовать одиночные расширенные форматы и двойные расширенные форматы, но это форматы, зависящие от архитектуры. Ваши высокоуровневые, независимые от платформы языки и базы данных, вероятно, избегают их разоблачения.
Согласно стандарту IEEE 754, вы игнорируете, что двойник может хранить бесконечность, бесконечность и NaN, тогда:
- Макс. Нормальное число: 1.7976931348623157e + 308
- мин положительное нормальное число: 2.2250738585072014e-308
- Макс. Субнормальное число: 2.2250738585072009e-308
- мин положительное субнормальное число: 4,9406564584124654e-324
Для двойного расширенного формата x86:
- Макс. Норм. 1,18973149535723176505e + 4932
- мин. Положительная норма: 3.36210314311209350626e-4932
- Макс субнормальный: 3.36210314311209350608e-4932
- мин положительное субнормальное: 3,64519953188247460253e-4951
Это получается, что двойной имеет:
- Значимые цифры (двоичные): 53
- Наименьшее положительное нормальное число: 2,225 ... 10 -308
- Наибольшее положительное число 1.797 ... 10 308
- Значимые цифры (десятичные): 15-17
И двойной расширенный (x86) имеет:
- Значимые цифры (двоичные): 64
- Наименьшее положительное нормальное число: 3,342 ... 10 -4932
- Наибольший положительный номер 1.189 ... 10 4932
- Значимые цифры (десятичные): 18-21