Представление чисел с плавающей точкой — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Новая страница: «== Плавающая точка == {{Определение |definition= '''Плавающая точка (floating point)''' - метод представлени...»)
 
Строка 1: Строка 1:
 +
{{В разработке}}
 
== Плавающая точка ==
 
== Плавающая точка ==
 
 
{{Определение
 
{{Определение
 
|definition=
 
|definition=
Строка 6: Строка 6:
 
}}
 
}}
 
Представление чисел с плавающей точкой рассмотрим на примере чисел ''двойной точности'' (''double precision'').
 
Представление чисел с плавающей точкой рассмотрим на примере чисел ''двойной точности'' (''double precision'').
Такие числа занимают в памяти два машинных слова (8  байт на 32-битных системах).  
+
Такие числа занимают в памяти два машинных слова (8  байт на 32-битных системах). Наиболее распространенное представление описано в IEEE 754.
  
 
== Числа двойной точности ==
 
== Числа двойной точности ==
 
 
Число с плавающей точкой хранится в нормализованной форме и состоит из трех частей (в скобках указано количество бит, отводимых на каждую секцию в формате double):
 
Число с плавающей точкой хранится в нормализованной форме и состоит из трех частей (в скобках указано количество бит, отводимых на каждую секцию в формате double):
 
# знак (1)
 
# знак (1)
 
# экспонента (показатель степени) (11)
 
# экспонента (показатель степени) (11)
 
# мантисса (52)
 
# мантисса (52)
В качестве базы используется число 2.
+
В качестве базы (основания степени) используется число 2.
 
{{TODO| t=Вставить картинку, когда можно будет загрузить файл}}
 
{{TODO| t=Вставить картинку, когда можно будет загрузить файл}}
 +
 +
{{Определение
 +
|definition=
 +
'''Нормализованной''' называется форма представления числа, при которой мантисса двоичного числа <tex> mant </tex> лежит в диапазоне <tex> [1, 2) </tex>.
 +
}}
  
 
{{Утверждение
 
{{Утверждение
 
|statement=
 
|statement=
Тогда итоговое значение числа вычисляется по формуле:
+
Итоговое значение числа вычисляется по формуле:
 
<br><tex> x = sign \times mant \times base^{exp} </tex>
 
<br><tex> x = sign \times mant \times base^{exp} </tex>
 
}}
 
}}
Строка 25: Строка 29:
 
== Свойства чисел с плавающей точкой ==
 
== Свойства чисел с плавающей точкой ==
 
# В нормализованном виде любое отличное от нуля число представимо в единственном виде. Недостатком такой записи является тот факт, что невозможно представить число 0.
 
# В нормализованном виде любое отличное от нуля число представимо в единственном виде. Недостатком такой записи является тот факт, что невозможно представить число 0.
#  
+
# Так как старший бит двоичного числа, записанного в нормализованной форме, всегда равен 1, его можно опустить. Это используется в стандарте IEEE 754.
 +
#
  
 
== Машинная эпсилон ==
 
== Машинная эпсилон ==

Версия 02:36, 17 октября 2011

Эта статья находится в разработке!

Плавающая точка

Определение:
Плавающая точка (floating point) - метод представления действительных чисел, при котором число хранится в виде мантиссы и показателя степени.

Представление чисел с плавающей точкой рассмотрим на примере чисел двойной точности (double precision). Такие числа занимают в памяти два машинных слова (8 байт на 32-битных системах). Наиболее распространенное представление описано в IEEE 754.

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

Число с плавающей точкой хранится в нормализованной форме и состоит из трех частей (в скобках указано количество бит, отводимых на каждую секцию в формате double):

  1. знак (1)
  2. экспонента (показатель степени) (11)
  3. мантисса (52)

В качестве базы (основания степени) используется число 2.

TODO: Вставить картинку, когда можно будет загрузить файл


Определение:
Нормализованной называется форма представления числа, при которой мантисса двоичного числа [math] mant [/math] лежит в диапазоне [math] [1, 2) [/math].


Утверждение:
Итоговое значение числа вычисляется по формуле:
[math] x = sign \times mant \times base^{exp} [/math]

Свойства чисел с плавающей точкой

  1. В нормализованном виде любое отличное от нуля число представимо в единственном виде. Недостатком такой записи является тот факт, что невозможно представить число 0.
  2. Так как старший бит двоичного числа, записанного в нормализованной форме, всегда равен 1, его можно опустить. Это используется в стандарте IEEE 754.

Машинная эпсилон

Определение:
Машинная эпсилон - наименьшее положительное число [math] \varepsilon [/math], такое что, [math] 1 \oplus \varepsilon = 1 [/math], где [math] \oplus [/math] - машинное сложение.


Ссылки

Wikipedia: Floating point
Wikipedia: Double precision floating point format