Число двойной точности
Число́ двойно́й то́чности (Double precision, Double) — компьютерный формат представления числа с плавающей запятой, занимающий в памяти 64 бита, или 8 байт. Как правило, обозначает числа с плавающей запятой стандарта IEEE 754.
Числа с плавающей запятой (двойной/одинарной/четверной точности) поддерживаются сопроцессором (в 80386 выполнен как отдельный модуль, начиная с 80486 является встроенным в главный процессор. Сопроцессор, хотя он сейчас и является частью главного процессора, принято называть FPU — Floating Point Unit, буквально Модуль Плавающей Запятой). В компьютерах, которые имеют 64-разрядные числа с плавающей запятой, большинство чисел хранятся в двойной точности, поскольку использование чисел одинарной точности обеспечивает почти такую же производительность. Но все вычисления в FPU осуществляются в 80-битном (расширенном, extended) представлении.
Одним из первых языков программирования, позволявшим использовать числа одинарной и двойной точности с плавающей запятой, был Фортран.
Числа двойной точности с плавающей запятой обеспечивают точность в 15-17 десятичных цифр и масштабы в диапазоне примерно от 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
записывается как 1023.
Существуют также денормализованные числа, записываемые порядком 00…00 и имеющие значение ±знак · (0+мантисса/ 252) · 21 − 1023. Порядок 11…11 предназначен для записи особых чисел: «бесконечности» и «не-числа» — NaN.
Примеры чисел двойной точности[править | править вики-текст]
0x 3ff0 0000 0000 0000 = 1 0x 3ff0 0000 0000 0001 ≈ 1.0000000000000002 (следующее число, больше 1) 0x 3ff0 0000 0000 0002 ≈ 1.0000000000000004 0x 4000 0000 0000 0000 = 2 0x c000 0000 0000 0000 = –2
0x 0000 0000 0000 0001 = 2-1022-52 ≈ 4.9406564584124654 x 10−324 (Минимальное денормализованное положительное число двойной точности) 0x 000f ffff ffff ffff = 2-1022 - 2-1022-52 ≈ 2.2250738585072009 x 10-308 (Максимальное денормализованное положительное число двойной точности) 0x 0010 0000 0000 0000 = 2-1022 ≈ 2.2250738585072014 x 10−308 (Минимальное нормализованное положительное число двойной точности) 0x 7fef ffff ffff ffff = (1 + (1 - 2-52)) x 21023 ≈ 1.7976931348623157 x 10308 (Максимальное число двойной точности)
0x 0000 0000 0000 0000 = 0 0x 8000 0000 0000 0000 = –0
0x 7ff0 0000 0000 0000 = Infinity 0x fff0 0000 0000 0000 = −Infinity 0x 7fff ffff ffff ffff = NaN
0x 3fd5 5555 5555 5555 ≈ 1/3
| В другом языковом разделе есть более полная статья Double precision (англ.)
Вы можете помочь проекту, расширив текущую статью с помощью перевода.
|
| В этой статье не хватает ссылок на источники информации.
Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена.
Вы можете отредактировать эту статью, добавив ссылки на авторитетные источники. Эта отметка установлена 18 июня 2012. |
См. также[править | править вики-текст]
- Числа с плавающей запятой
- Число половинной точности
- Число одинарной точности
- Число четверной точности