Выполнение арифметических операций в АЛУ для чисел с фиксированной запятой. Часть I. Базарова С. Б-М - 8 стр.

UptoLike

15
уменьшаются слева направо (вес разряда равен
np
x
2, где n
изменяется от 1 до 10).
11000,10000 = 1
×
2
4
+ 1
×
2
3
+ 0
×
2
2
+ 0
×
2
1
+
+ 0
×
2
0
+ 1
×
2
-1
+ 0
×
2
-2
+ 0
×
2
-3
+ 0
×
2
-4
+ 0
×
2
-5
= 24,5.
Представим порядок
p
X
как смещённый порядок.
Для этого к порядку
p
X
прибавим целое числосмещение
N = 2
q
, где q число двоичных разрядов, используемых для
модуля порядка (см. рис. 1.4). В данной разрядной сетке
q = 6, следовательно, N
=2
6
= 64 (N = 1000000 b). Таким
образом, смещённый порядок числа
X равен:
p
Xсм
= 1000101b.
Так как число
X положительное, то его знаковый
разряд равен 0. Число
X в формате с плавающей запятой со
смещенным порядком приведено на рис. 1.5.
Веса
разрядов
2
6
2
5
2
4
2
3
2
2
2
1
2
0
2
4
2
3
2
2
2
1
2
0
2
-1
2
-2
2
-3
2
-4
2
-5
0 1 0 0 0 1 0 1 1 1 0 0 0 1 0 0 0 0
Знак Смещённый порядок Мантисса
Рисунок 1.5 - Формат представления числа X = 24,5 в формате
с плавающей запятой со смещённым порядком
16
Пример - Пусть X = +0,073. Перевести число X в
формат числа с плавающей запятой,
X
p
mSX
X
×=
.
Также как и в предыдущем примере для модуля
порядка выделим 7 разрядов. Для мантиссы также выделим
10 разрядов.
Определим мантиссу числа m
X
. Для этого
представим в двоичном виде целую и дробную части числа.
Целая часть числа X =0
соответствует двоичному числу 0 b.
Для отображения целой части числа не используется ни
одного бита.
Определим двоичный вид дробной части числа. Так
как целой части числа X в мантиссе нет, то на дробную
часть числа X выделяется все 10 разрядов мантиссы.
Соответственно необходимо 10 итераций цикла получения
дробной части числа X.
Итак, определим двоичный вид дробной части числа X:
1. R = 0,073 – 0 = 0,073.
2. R = R
×
2 = 0,073
×
2 = 0,146.
3. Так как R < 1, то очередная цифра дробной части в
двоичном виде равна 0.
2. R
×
2 = 0,146
×
2 = 0,292.
уменьшаются слева направо (вес разряда равен 2 p x − n , где n
изменяется от 1 до 10).                                                     Пример - Пусть X = +0,073. Перевести число X в
        11000,10000 = 1 × 24 + 1 × 23 + 0 × 22 + 0 × 21 +             формат числа с плавающей запятой, X = S p X × m X .
+ 0 × 20 + 1 × 2-1 + 0 × 2-2 + 0 × 2-3 + 0 × 2-4 + 0 × 2-5 = 24,5.          Также как и в предыдущем примере для модуля
        Представим порядок pX как смещённый порядок.                  порядка выделим 7 разрядов. Для мантиссы также выделим
Для этого к порядку pX прибавим целое число – смещение                10 разрядов.
N = 2q, где q – число двоичных разрядов, используемых для                   Определим мантиссу числа           mX . Для этого
модуля порядка (см. рис. 1.4). В данной разрядной сетке               представим в двоичном виде целую и дробную части числа.
q = 6, следовательно, N =26 = 64 (N = 1000000 b). Таким               Целая часть числа X =0 соответствует двоичному числу 0 b.
образом,    смещённый          порядок   числа       X       равен:   Для отображения целой части числа не используется ни
pXсм = 1000101b.                                                      одного бита.
        Так как число X положительное, то его знаковый                      Определим двоичный вид дробной части числа. Так
разряд равен 0. Число X в формате с плавающей запятой со              как целой части числа X в мантиссе нет, то на дробную
смещенным порядком приведено на рис. 1.5.                             часть числа X      выделяется все 10 разрядов мантиссы.

  Веса                                                                Соответственно необходимо 10 итераций цикла получения
разрядов
         26 25 24 23 22 21 20 24 23 22 21 20 2-1 2-2 2-3 2-4 2-5
                                                                      дробной части числа X.
   0    1 0 0 0 1 0 1 1 1 0 0 0                  1   0   0   0   0
 Знак      Смещённый порядок                 Мантисса                       Итак, определим двоичный вид дробной части числа X:
Рисунок 1.5 - Формат представления числа X = 24,5 в формате              1. R = 0,073 – 0 = 0,073.
        с плавающей запятой со смещённым порядком
                                                                         2. R = R × 2 = 0,073 × 2 = 0,146.
                                                                         3. Так как R < 1, то очередная цифра дробной части в
                                                                            двоичном виде равна 0.
                                                                         2. R × 2 = 0,146 × 2 = 0,292.



                                 15                                                                  16