Изменения

Перейти к: навигация, поиск

Представление вещественных чисел

11 238 байт добавлено, 02:58, 19 октября 2011
Попытался облагородить раздел с типами чисел
</center>
=== Число половинной точности ===
== Типы чисел с плавающей точкой (по IEEE 754) ===== Число половинной точности (Binary16, Half precision) === '''Число́ полови́нной то́чности'''  — компьютерный формат представления чисел, занимающий в памяти половину машинное машинного слова (в случае 32-битного компьютера — 16 бит или 2 байта). В силу невысокой точности этот формат представления чисел с плавающей запятой обычно используется в видеокартах, где небольшой размер и высокая скорость работы важнее точности вычислений.
{|class="wikitable" style="border-collapse: collapse; border: none"
!style="background-color: powderblue; border: thin solid black; border-top: none"|
!colspan=5 style="background-color: lightgreen; border: thin solid black"|Порядок
!colspan=10 11 style="background-color: lightcoral; border: thin solid black"|Мантисса
|-style="text-align: right"
!style="background-color: powderblue; border: thin solid black"|0
!style="background-color: lightgreen; border: thin solid black"|0
!style="background-color: lightgreen; border: thin solid black"|0
!style="border: none"|1,
!style="background-color: lightcoral; border: thin solid black"|0
!style="background-color: lightcoral; border: thin solid black"|0
<!-- 8 бит -->
!style="background-color: lightcoral; border: thin solid black"|0
!style="background-color: lightcoral; border: thin solid black"|0
|colspan=3 style="border: none; border-left: 1px solid gray; text-align: left"|14
|colspan=2 style="border: none; border-right: 1px solid gray; text-align: right"|10
|style="border: none"|
|colspan=6 style="border: none; border-left: 1px solid gray; text-align: left"|9
|colspan=4 style="border: none; border-right: 1px solid gray; text-align: right"|0
|}
Порядок записан со сдвигом '''-15'''. Это означает, что если дан порядок 01101<sub>2</sub> то он на самом деле равен не 13, а -2 (потому как <tex>13-15=-2</tex>).
=== Число одинарной '''Ограничения точности ==='''* Целые от нуля до 2048 передаются как есть.* Целые от 2049 до 4096 округляются к ближайшему чётному целому.* Целые от 4097 до 8192 округляются до ближайшего целого, делящегося нацело на 4.* Целые от 8193 до 16384 округляются до ближайшего целого, делящегося на 8.* Целые от 16385 до 32768 округляются до ближайшего целого, делящегося на 16.* Целые от 32769 до 65535 округляются до ближайшего целого, делящегося на 32.
 === Число одинарной точности (Binary32, Single precision, float) === '''Число́ одина́рной то́чности''' — компьютерный формат представления чисел, занимающий в памяти одно машинное слово (в случае 32-битного компьютера — 32 бита или 4 байта). Как правилоИспользуется для работы с вещественными числами везде, обозначает формат числа с плавающей точкой стандарта IEEE 754где не нужна очень высокая точность.
{|class="wikitable" style="background-color: transparent; border-collapse: collapse; border: none"
!style="background-color: powderblue; border: thin solid black; border-top: none"|
!colspan=8 style="background-color: lightgreen; border: thin solid black"|Порядок (8 бит)
!colspan=23 24 style="background-color: lightcoral; border: thin solid black"|Мантисса (24 +1 бита)
|-style="text-align: right"
!style="background-color: powderblue; border: thin solid black"|0
!style="background-color: lightgreen; border: thin solid black"|0
!style="background-color: lightgreen; border: thin solid black"|0
<!-- 24 бита -->
!style="background-color: lightgreen; border: thin solid black"|0
!style="border: none"|1,
!style="background-color: lightcoral; border: thin solid black"|0
!style="background-color: lightcoral; border: thin solid black"|0
!style="background-color: lightcoral; border: thin solid black"|0
!style="background-color: lightcoral; border: thin solid black"|0
<!-- 16 бит -->
!style="background-color: lightcoral; border: thin solid black"|0
!style="background-color: lightcoral; border: thin solid black"|0
!style="background-color: lightcoral; border: thin solid black"|0
!style="background-color: lightcoral; border: thin solid black"|0
<!-- 8 бит -->
!style="background-color: lightcoral; border: thin solid black"|0
!style="background-color: lightcoral; border: thin solid black"|0
|colspan=4 style="border: none; border-left: 1px solid gray; text-align: left"|30
|colspan=4 style="border: none; border-right: 1px solid gray; text-align: right"|24
|style="border: none"|
|colspan=20 style="border: none; border-left: 1px solid gray; text-align: left"|23
|colspan=3 style="border: none; border-right: 1px solid gray; text-align: right"|0
|}
Порядок записан со сдвигом '''-127'''.
=== Число двойной точности (Binary64, Double precision, double) ===
'''Число́ двойно́й то́чности''' —
компьютерный формат представления чисел, занимающий в памяти два машинных слова (в случае 32-битного компьютера — 64 бита или 8 байт). Как правилоЧасто используется благодаря своей неплохой точности, обозначает формат числа с плавающей запятой стандарта IEEE 754даже не смотря на двойной расход памяти и сетевого трафика относительно чисел одинарной точности.
{|class="wikitable" style="border-collapse: collapse; border: none"
!style="background-color: powderblue; border: thin solid black; border-top: none"|
!colspan=11 style="background-color: lightgreen; border: thin solid black"|Порядок<br />(11 бит)
!colspan=52 53 style="background-color: lightcoral; border: thin solid black"|Мантисса<br />(52 +1 бит)
|-style="text-align: right"
!style="background-color: powderblue; border: thin solid black"|0
!style="background-color: lightgreen; border: thin solid black"|0
!style="background-color: lightgreen; border: thin solid black"|0
<!-- 56 бит -->
!style="background-color: lightgreen; border: thin solid black"|0
!style="background-color: lightgreen; border: thin solid black"|0
!style="background-color: lightgreen; border: thin solid black"|0
!style="background-color: lightgreen; border: thin solid black"|0
!style="border: none"|1,
!style="background-color: lightcoral; border: thin solid black"|0
!style="background-color: lightcoral; border: thin solid black"|0
!style="background-color: lightcoral; border: thin solid black"|0
!style="background-color: lightcoral; border: thin solid black"|0
<!-- 48 бит -->
!style="background-color: lightcoral; border: thin solid black"|0
!style="background-color: lightcoral; border: thin solid black"|0
!style="background-color: lightcoral; border: thin solid black"|0
!style="background-color: lightcoral; border: thin solid black"|0
<!-- 40 бит -->
!style="background-color: lightcoral; border: thin solid black"|0
!style="background-color: lightcoral; border: thin solid black"|0
!style="background-color: lightcoral; border: thin solid black"|0
!style="background-color: lightcoral; border: thin solid black"|0
<!-- 32 бита -->
!style="background-color: lightcoral; border: thin solid black"|0
!style="background-color: lightcoral; border: thin solid black"|0
!style="background-color: lightcoral; border: thin solid black"|0
!style="background-color: lightcoral; border: thin solid black"|0
<!-- 24 бита -->
!style="background-color: lightcoral; border: thin solid black"|0
!style="background-color: lightcoral; border: thin solid black"|0
!style="background-color: lightcoral; border: thin solid black"|0
!style="background-color: lightcoral; border: thin solid black"|0
<!-- 16 бит -->
!style="background-color: lightcoral; border: thin solid black"|0
!style="background-color: lightcoral; border: thin solid black"|0
!style="background-color: lightcoral; border: thin solid black"|0
!style="background-color: lightcoral; border: thin solid black"|0
<!-- 8 бит -->
!style="background-color: lightcoral; border: thin solid black"|0
!style="background-color: lightcoral; border: thin solid black"|0
|colspan=4 style="border: none; border-left: 1px solid gray; text-align: left"|62
|colspan=7 style="border: none; border-right: 1px solid gray; text-align: right"|52
|style="border: none"|
|colspan=48 style="border: none; border-left: 1px solid gray; text-align: left"|51
|colspan=4 style="border: none; border-right: 1px solid gray; text-align: right"|0
|}
Порядок записан со сдвигом '''-1023'''.
 === Число четверной точности (Binary 128, Quadruple precision) ===
'''Число́ четверно́й то́чности''' —
компьютерный формат представления чисел, занимающий в памяти четыре машинных слова (в случае 32-битного компьютера — 128 бит или 16 байт). Как правило, обозначает формат числа с плавающей запятой '''binary128''' стандарта IEEE 754.
''' Формат числа четверной точности '''{|class="wikitable" style="border-collapse: collapse; border: none"|-!colspan=7 style="background-color: powderblue; border: thin solid black; border-bottom: none"|Знак|-!style="background-color: powderblue; border: thin solid black; border-top: none"|!colspan=15 style="background-color: lightgreen; border: thin solid black"|Порядок<br />(15 бит)!colspan=47 style="background-color: lightcoral; border: thin solid black"|Мантисса<br />(112+1 бит)|-style="text-align: right"!style="background-color: powderblue; border: thin solid black"|0!style="background-color: lightgreen; border: thin solid black"|0!style="background-color: lightgreen; border: thin solid black"|0!style="background-color: lightgreen; border: thin solid black"|0!style="background-color: lightgreen; border: thin solid black"|0!style="background-color: lightgreen; border: thin solid black"|0!style="background-color: lightgreen; border: thin solid black"|0!style="background-color: lightgreen; border: thin solid black"|0!style="background-color: lightgreen; border: thin solid black"|0!style="background-color: lightgreen; border: thin solid black"|0!style="background-color: lightgreen; border: thin solid black"|0!style="background-color: lightgreen; border: thin solid black"|0!style="background-color: lightgreen; border: thin solid black"|0!style="background-color: lightgreen; border: thin solid black"|0!style="background-color: lightgreen; border: thin solid black"|0!style="background-color: lightgreen; border: thin solid black"|0!style="border: none"|1,!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0|-|style="border: none"| |colspan=8 style="border: none; border-left: 1px solid gray; text-align: left"|126|colspan=7 style="border: none; border-right: 1px solid gray; text-align: right"|112|style="border: none"| |colspan=38 style="border: none; border-left: 1px solid gray; text-align: left"|111|}<br />{|class="wikitable" style="border-collapse: collapse; border: none"|-Бит знака!colspan=66 style="background-color: lightcoral; border: thin solid black"|Мантисса<br />(112+1бит)|-style="text-align: right"!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0Длина значения экспоненты!style="background-color: 15 lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0!style="background-color: lightcoral; border: thin solid black"|0|-|colspan=66 style="border: none; border-right: 1px solid gray; text-align: right"|0|}Порядок записан со сдвигом '''-16383'''.
Мантисса: 112
== Действия с числами с плавающей запятой ==
=== Алгоритм получения представления вещественного числа в памяти ЭВМ ===
===Cсылки=Ссылки ==
* [http://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%86%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D1%8C http://ru.wikipedia.org/wiki/Экспоненциальная_запись]
* [http://ru.wikipedia.org/wiki/%D0%A7%D0%B8%D1%81%D0%BB%D0%BE_%D1%81_%D0%BF%D0%BB%D0%B0%D0%B2%D0%B0%D1%8E%D1%89%D0%B5%D0%B9_%D0%B7%D0%B0%D0%BF%D1%8F%D1%82%D0%BE%D0%B9 http://ru.wikipedia.org/wiki/Число_с_плавающей_запятой]
101
правка

Навигация