Число двойной точности
Число́ двойно́й то́чности (Double precision, Double) — компьютерный формат представления числа с плавающей запятой, занимающий в памяти 64 бита, или 8 байт. Как правило, обозначает числа с плавающей запятой стандарта IEEE 754.
Числа с плавающей запятой (двойной/одинарной/четверной точности) поддерживаются сопроцессором (до 80486SX включительно выполнен как отдельный модуль — 0х87/0х187/0х287/0х387/0х487, начиная с 80486DX является встроенным в главный процессор. Сопроцессор, хотя он сейчас и является частью главного процессора, принято называть FPU — Floating Point Unit, буквально «модуль плавающей запятой»). В компьютерах, которые имеют 64-разрядные числа с плавающей запятой, большинство чисел хранятся в двойной точности, поскольку использование чисел одинарной точности обеспечивает почти такую же производительность, но все вычисления в FPU осуществляются в 80-битном (расширенном, extended) представлении.
Одним из первых языков программирования, позволявшим использовать числа одинарной и двойной точности с плавающей запятой, был Фортран.
Числа двойной точности с плавающей запятой эквивалентны по точности числу с 15-17 значащими десятичными цифрами (в среднем 16,3) в диапазоне примерно от 10−308 до 10308.
Знак | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
(11 бит) Порядок |
(52 бита) Мантисса | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
63 | 56 | 55 | 48 | 47 | 40 | 39 | 32 | 31 | 24 | 23 | 16 | 15 | 8 | 7 | 0 |
Окончательное значение числа равняется ±знак · (1+мантисса/ 252) × 2порядок − 1023. Знак 0 соответствует положительным числам, знак 1 отрицательным. Старший бит мантиссы, который всегда равен единице, опускается. Порядок 0 <math>(2^{0}=1)</math> записывается как 1023.
Существуют также денормализованные числа, записываемые порядком 00…00 и имеющие значение ±знак × (0+мантисса/ 252) · 21 − 1023. Денормализованные числа имеют уменьшенное количество значащих цифр мантиссы. Порядок 11…11 предназначен для записи особых чисел: «бесконечности» и «не-числа» — NaN.
Примеры чисел двойной точности[править | править код]
0x 3ff0 0000 0000 0000
= 10x 3ff0 0000 0000 0001
≈ 1,0000000000000002 (наименьшее число, большее 1)0x 3ff0 0000 0000 0002
≈ 1,00000000000000040x 4000 0000 0000 0000
= 20x c000 0000 0000 0000
= –2
0x 0000 0000 0000 0001
= 2–1022–52 ≈ 4,9406564584124654×10−324 (минимальное денормализованное положительное число двойной точности)0x 000f ffff ffff ffff
= 2–1022– 2–1022–52 ≈ 2,2250738585072009×10-308 (максимальное денормализованное положительное число двойной точности)0x 0010 0000 0000 0000
= 2–1022 ≈ 2,2250738585072014×10−308 (минимальное нормализованное положительное число двойной точности)0x 7fef ffff ffff ffff
= (1 + (1 – 2–52))×21023 ≈ 1,7976931348623157×10308 (максимальное число двойной точности)
0x 3fd5 5555 5555 5555
≈ 1/3
См. также[править | править код]
- Числа с плавающей запятой
- Число половинной точности
- Число одинарной точности
- Число четверной точности
- Число восьмерной точности
Ссылки[править | править код]
- Онлайн преобразователь для IEEE 754 чисел с двойной точностью
- Зубков С. В. Ассемблер. 2.4.1. Типы данных FPU
Ошибка Lua в Модуль:External_links на строке 409: attempt to index field 'wikibase' (a nil value).