ВУЗ:
Составители:
27
Достоинство дополнительного кода в том, что знаковый и чи-
словые биты операнда составляют единый код, а не две части, как в
прямом. Как следствие этого, алгоритмы сложения и вычитания реа-
лизуются более просто.
Недостатками дополнительного кода являются:
1) несимметричный диапазон представления положительных и
отрицательных чисел в цифровом процессоре (диапазон отрицатель-
ных больше на одно число, чем положительных);
2) более сложные по сравнению с прямым кодом алгоритмы опе-
раций умножения и деления.
Первый недостаток добавляет в алгоритмы перевода чисел в до-
полнительный и из дополнительного кода учет этого обстоятельства.
Для примера, возьмем пятиразрядный процессор, крайний левый
разряд которого знаковый. Диапазон представления целых чисел в
формате с ФТ в таком процессоре от –2
4
до 2
4
– 1, т.е. от –16 до 15.
Для представления числа, равного (–16
(10)
), описанный выше алгоритм
перевода не подходит. Согласно ему (так как – 16
(10)
= – 10000
(2)
) знак
«минус» даст 1 в знаковый бит, инверсия остальных разрядов с до-
бавлением 1 дает 10000. Итого получается 6 бит, что превышает раз-
рядную сетку процессора. Поэтому алгоритм представления макси-
мального (по модулю) отрицательного числа иной, а именно: в зна-
ковый бит записывается 1, все остальные биты равны 0. Аналогично,
при переводе в двоичную систему счисления максимального отрица-
тельного числа знак будет «минус», само число равно 100…0, где
количество нулей будет (n – 1). Здесь n – разрядность процессора.
3.3. Представление операндов в обратном коде
Обратный код положительного числа совпадает с самим числом, а
знаковый разряд кодируется 0.
Обратный код отрицательного числа получается по следующему
алгоритму: в знаковый бит записывается 1, а остальные биты полу-
чаются инверсией разрядов исходного числа. Например:
K
1
=51
(8)
=101001
(2)
.
[
K
1
]
3
=
0
0
1
0
1
0
0
1
K
2
= – 51
(8)
= – 101001
(2)
.
Достоинство дополнительного кода в том, что знаковый и чи-
словые биты операнда составляют единый код, а не две части, как в
прямом. Как следствие этого, алгоритмы сложения и вычитания реа-
лизуются более просто.
Недостатками дополнительного кода являются:
1) несимметричный диапазон представления положительных и
отрицательных чисел в цифровом процессоре (диапазон отрицатель-
ных больше на одно число, чем положительных);
2) более сложные по сравнению с прямым кодом алгоритмы опе-
раций умножения и деления.
Первый недостаток добавляет в алгоритмы перевода чисел в до-
полнительный и из дополнительного кода учет этого обстоятельства.
Для примера, возьмем пятиразрядный процессор, крайний левый
разряд которого знаковый. Диапазон представления целых чисел в
формате с ФТ в таком процессоре от –24 до 24 – 1, т.е. от –16 до 15.
Для представления числа, равного (–16(10)), описанный выше алгоритм
перевода не подходит. Согласно ему (так как – 16(10)= – 10000(2)) знак
«минус» даст 1 в знаковый бит, инверсия остальных разрядов с до-
бавлением 1 дает 10000. Итого получается 6 бит, что превышает раз-
рядную сетку процессора. Поэтому алгоритм представления макси-
мального (по модулю) отрицательного числа иной, а именно: в зна-
ковый бит записывается 1, все остальные биты равны 0. Аналогично,
при переводе в двоичную систему счисления максимального отрица-
тельного числа знак будет «минус», само число равно 100…0, где
количество нулей будет (n – 1). Здесь n – разрядность процессора.
3.3. Представление операндов в обратном коде
Обратный код положительного числа совпадает с самим числом, а
знаковый разряд кодируется 0.
Обратный код отрицательного числа получается по следующему
алгоритму: в знаковый бит записывается 1, а остальные биты полу-
чаются инверсией разрядов исходного числа. Например:
K1=51(8)=101001(2).
[K1]3= 0 0 1 0 1 0 0 1
K2= – 51(8)= – 101001(2).
27
Страницы
- « первая
- ‹ предыдущая
- …
- 26
- 27
- 28
- 29
- 30
- …
- следующая ›
- последняя »
