Основы арифметики цифровых процессоров. Вашкевич Н.П - 24 стр.

UptoLike

23
3. Кодирование чисел в цифровых процессорах
В цифровых процессорах в каждом формате операнды представ-
ляются в одном из следующих кодов:
- прямом;
- дополнительном;
- обратном.
Введем следующую систему обозначений:
]
1
представление операнда Х в прямом коде;
]
2
представление операнда Х в дополнительном коде;
]
3
представление операнда Х в обратном коде.
Рассмотрим представление операндов в каждом из этих кодов в
формате с фиксированной точкой.
3.1. Представление операндов в прямом коде
Представление операнда в прямом коде состоит из двух частей:
- знака числа, под него отводится крайний левый бит (старший);
- модуля числа.
Если число положительноезнак кодируется 0, а если отрица-
тельное, то 1.
Рассмотрим примеры представления целых операндов в этом коде:
K
1
=51
(8)
=101001
(2)
.
[
K
]
1
=
0
1
K
2
= – 51
(8)
= – 101001
(2)
.
[
K
]
2
=
1
1
Рассмотрим примеры представления дробных операндов в этом
коде:
M
1
=0,15
(8)
=0,001101
(2)
.
[M]
1
=
0
0
0
1
0
M
2
= – 0,15
(8)
= – 0,001101
(2)
.
[
M
]
2
=
1
0
0
1
0
 3. Кодирование чисел в цифровых процессорах
  В цифровых процессорах в каждом формате операнды представ-
ляются в одном из следующих кодов:
  - прямом;
  - дополнительном;
  - обратном.
  Введем следующую систему обозначений:
  [Х]1 – представление операнда Х в прямом коде;
  [Х]2 – представление операнда Х в дополнительном коде;
  [Х]3 – представление операнда Х в обратном коде.
  Рассмотрим представление операндов в каждом из этих кодов в
формате с фиксированной точкой.
      3.1. Представление операндов в прямом коде
  Представление операнда в прямом коде состоит из двух частей:
  - знака числа, под него отводится крайний левый бит (старший);
   - модуля числа.
   Если число положительное – знак кодируется 0, а если отрица-
тельное, то 1.
   Рассмотрим примеры представления целых операндов в этом коде:
   K1=51(8)=101001(2).
    [K]1= 0 0 1 0 1 0 0 1
   K2= – 51(8)= – 101001(2).
    [K]2= 1 0 1 0 1 0 0 1
   Рассмотрим примеры представления дробных операндов в этом
коде:
   M1=0,15(8)=0,001101(2).
    [M]1= 0 0 0 1 1 0 1 0
   M2= – 0,15(8)= – 0,001101(2).
    [M]2= 1 0 0 1 1 0 1 0

                              23