Число двойной точности


Число двойной точности

Число́ двойно́й то́чности (Double precision, Double) — компьютерный формат представления чисел, занимающий в памяти две последовательных ячейки (компьютерных слова; в случае 32-битного компьютера — 64 бита или 8 байт). Как правило, обозначает формат числа с плавающей запятой стандарта IEEE 754. Числа с плавающей запятой (двойной/одинарной/четверной точности) поддерживаются сопроцессором (в 80386 выполнен как отдельный модуль, начиная с 80486 является встроенным в главный процессор. Сопроцессор, хотя он сейчас и является частью главного процессора, принято называть FPU — Floating Point Unit, буквально Модуль Плавающей Запятой).

Одним из первых языков программирования, позволявшим использовать числа одинарной и двойной точности с плавающей запятой, был Фортран.

Числа двойной точности с плавающей запятой обеспечивают относительную точность около \log_{10}(2^{53}) \approx 15.955 десятичных цифр и масштабы в диапазоне от 10−308 до примерно 10308. В компьютерах, которые имеют 64-разрядные с плавающей запятой арифметические единицы, большинство численных вычислений осуществляется в двойной точности с плавающей запятой, поскольку использование чисел одинарной точности обеспечивает почти такую же производительность.

Знак
(11 битов)
Экспонента
(52 бита)
Мантисса
                                                                                                                               
63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0

Для вычисления экспоненты из 11-ти битного числа вычитается 10-ти битное смещение экспоненты, равное 2^{10}-1 = 1023. Для вычисления мантиссы к 1,0 добавляется поле мантиссы в виде дробной части. Число равно произведению мантиссы со знаком на двойку в степени экспоненты.

Примеры чисел двойной точности

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


См. также

Ссылки


Wikimedia Foundation. 2010.

Смотреть что такое "Число двойной точности" в других словарях:

  • Число одинарной точности — (англ. Single precision, Single)  широко распространенный компьютерный формат представления вещественных чисел, занимающий в памяти 32 бита (4 байта). Как правило, под ним понимают формат числа с плавающей запятой стандарта IEEE 754.… …   Википедия

  • Число четверной точности — (англ. Quadruple precision) компьютерный формат представления чисел с плавающей запятой, занимающий в памяти четыре последовательных ячейки (компьютерных слова; в случае 32 битного компьютера 128 бит или 16 байт). Как правило, обозначает… …   Википедия

  • Число половинной точности — (англ. half precision)  компьютерный формат представления чисел, занимающий в памяти половину компьютерного слова (в случае 32 битного компьютера  16 бит или 2 байта). Диапазон значений ± 2−24(5.96E 8)  65504. Приблизительная… …   Википедия

  • Число с плавающей запятой — Число с плавающей запятой  форма представления действительных чисел, в которой число хранится в форме мантиссы и показателя степени. При этом число с плавающей запятой имеет фиксированную относительную точность и изменяющуюся абсолютную.… …   Википедия

  • Strtod — (сокр. от string to double, строку в число двойной точности ) функция языка Си, конвертирующая символ строки в число с плавающей запятой двойной точности. Определение функции имеет вид: double strtod ( const char * str, char ** endptr );[1]… …   Википедия

  • strtod — (сокр. от string to double, «строку в число двойной точности»)  функция языка Си, конвертирующая символ строки в число с плавающей запятой двойной точности. Определение функции имеет вид: double strtod ( const char * str, char ** endptr… …   Википедия

  • stdlib.h — Стандартная библиотека языка программирования С assert.h complex.h ctype.h errno.h fenv.h float.h inttypes.h iso646.h limits.h locale.h math.h setjmp.h signal.h stdarg.h stdbool.h stddef.h stdint.h …   Википедия

  • Числа с плавающей запятой — Плавающая запятая  форма представления действительных чисел, в которой число хранится в форме мантиссы и показателя степени. При этом число с плавающей запятой имеет фиксированную относительную точность и изменяющуюся абсолютную. Наиболее… …   Википедия

  • Запятая плавающая — Плавающая запятая форма представления дробных чисел, в которой число хранится в форме мантиссы и показателя степени. При этом число с плавающей запятой имеет фиксированную относительную точность и изменяющуюся абсолютную. Наиболее часто… …   Википедия

  • Машинный эпсилон — Плавающая запятая форма представления дробных чисел, в которой число хранится в форме мантиссы и показателя степени. При этом число с плавающей запятой имеет фиксированную относительную точность и изменяющуюся абсолютную. Наиболее часто… …   Википедия