Составители:
Рубрика:
Минимальным по модулю, отличным от нуля и нормализо-ванным
будет А
=⋅ =⋅ =
−−−
(. ) ( ) ( )0110
1
2
22
1111111
2
127
10
128
10
.
Таким образом числа с плавающей точкой позволяют увеличить
диапазон обрабатываемых чисел, но при этом точность изображения чисел
определяется только разрядами мантиссы и уменьшается по сравнению с
числами с фиксированной точкой. При записи числа в формате слова
диапазон представимых чисел будет от
−⋅12
127
до 12
127
⋅
(
)
210
127 38
≈
, а
точность определяться мантиссой, состоящей из 23 разрядов. Точность
может быть повышена путем увеличения количества разрядов мантиссы. Это
реализуется путем представления чисел с так называемой двойной
точностью, т.е. число записывается в двух подряд ячейках памяти.
3.3 Арифметические действия над числами с плавающей точкой.
При
сложении чисел с плавающей точкой сначала уравниваются
порядки слагаемых, а затем складываются мантиссы.
Уравнивание порядков заключается в том, что меньший порядок
числа увеличивается до большего, при этом соответственно изменяется и
мантисса. Мантиссы складываются в одном из модифицированных кодов
∗
.
Порядком суммы является больший порядок. Если после сложения
результат оказывается ненормализованным, то его нормализуют, изменяя
соответственно и порядок.
Пример.
Представить числа X
=
9
10
и Y
=
−
37
10
в виде нормализованных двоичных
чисел с плавающей точкой и сложить. Результат проверить переведя сумму в
десятичную систему.
Решение:
1. Переведем числа в двоичную с.с. и нормализуем.
X
== = ⋅9 1001 0 1001 10
10 2
100
2
(. );
Y
=− =− = − ⋅37 100101 0 100101 10
10 2
110
2
(. ).
2. Уравниваем порядки чисел.
X
=⋅= ⋅0 1001 10 0 001001 10
100 110
..;
Y
=− ⋅0 100101 10
110
. .
3. Переводим мантиссы чисел в модифицированный дополнительный код и
складываем их.
m
m
до п
x
до п
y
,
=
=
00 001001
11 011011
,
m
до п
x+ y
= 11 100100,
4. Переводим результат в прямой код:
11 011011
1
11 011100
,
,
+
=
+
m
пр
XY
5. Представляем результат в виде ЧПТ и нормализуем его:
∗
Для определенности сложение мантисс будем производить в
модифицированном дополнительном восьмиразрядном коде (2 знаковых
разряда и 6 разрядов для записи мантиссы).
0 1 2 3 4 5 6 7 8 9 10 11 12 31
0 1 1 1 1 1 1 1 1 1 0 0 0 . . . 0
44444344444214444434444421
Зн
m Зн
p
Порядок Мантисса
0 1 2 3 8 9 10 31 0 1 31
. . . . . . . . .
4434421
44444443444444421
Знак Знак Порядок Мантисса
m
p
(7 разрядов) (55 разрядов)
Минимальным по модулю, отличным от нуля и нормализо-ванным мантисса. Мантиссы складываются в одном из модифицированных кодов∗ . −1111111 1 Порядком суммы является больший порядок. Если после сложения будет А = ( 0 .1 ⋅ 10 ) 2 = ( ⋅ 2 −127 ) 10 = (2 −128 ) 10 . результат оказывается ненормализованным, то его нормализуют, изменяя 2 соответственно и порядок. 0 1 2 3 4 5 6 7 8 9 10 11 12 31 Пример. 0 1 1 1 1 1 1 1 1 1 0 0 0 ... 0 Представить числа X = 9 10 и Y = −37 10 в виде нормализованных двоичных 144444244444 3 144444244444 3 чисел с плавающей точкой и сложить. Результат проверить переведя сумму в десятичную систему. Зн m Зн p Порядок Мантисса Решение: 1. Переведем числа в двоичную с.с. и нормализуем. Таким образом числа с плавающей точкой позволяют увеличить X= 9 10 = 10012 = ( 0 .1001 ⋅ 10100 ) 2 ; диапазон обрабатываемых чисел, но при этом точность изображения чисел Y = −37 10 = −1001012 = ( −0 .100101 ⋅ 10 ) 2 . 110 определяется только разрядами мантиссы и уменьшается по сравнению с числами с фиксированной точкой. При записи числа в формате слова 2. Уравниваем порядки чисел. диапазон представимых чисел будет от −1 ⋅ 2 127 до 1 ⋅ 2 127 (2 127 ) ≈ 1038 , а X= 0 .1001 ⋅ 10100 = 0 . 001001 ⋅ 10110 ; Y = −0 .100101 ⋅ 10 . 110 точность определяться мантиссой, состоящей из 23 разрядов. Точность может быть повышена путем увеличения количества разрядов мантиссы. Это 3. Переводим мантиссы чисел в модифицированный дополнительный код и реализуется путем представления чисел с так называемой двойной складываем их. точностью, т.е. число записывается в двух подряд ячейках памяти. mдx о п = 00 , 001001 0 1 2 3 8 9 10 31 0 1 31 ... ... ... mдy о п = 11, 011011 1442443 14444444244444443 mдx+о yп = 11 , 100100 Знак Знак Порядок Мантисса m p (7 разрядов) (55 разрядов) 4. Переводим результат в прямой код: 11, 011011 +1 3.3 Арифметические действия над числами с плавающей точкой. mпXр+ Y = 11, 011100 5. Представляем результат в виде ЧПТ и нормализуем его: При сложении чисел с плавающей точкой сначала уравниваются порядки слагаемых, а затем складываются мантиссы. ∗ Уравнивание порядков заключается в том, что меньший порядок Для определенности сложение мантисс будем производить в числа увеличивается до большего, при этом соответственно изменяется и модифицированном дополнительном восьмиразрядном коде (2 знаковых разряда и 6 разрядов для записи мантиссы).