Системы кодирования данных с отрицательным основанием
Известны компьютеры, работающие в СКД с отрицательными основаниями. Это обычно машины последовательного действия. При выполнении арифметической операции оба операнда поступают на вход одновременно и обязательно младшими разрядами вперед, чтобы легко было осуществлять перенос в старшие разряды.
Целесообразность введения отрицательного основания обусловливается тем, что знак числа органически включается в представление числа, в связи с чем специально его отображать не надо.
Неудобство использования системы состоит в том, что при реализации процесса суммирования на один разряд могут прийтись два переноса, что усложняет схему сумматора.
С точки зрения интервала представимых чисел при отрицательном основании имеет место некоторая несимметричность. Так, при четном m (количестве разрядов) отрицательных чисел может быть представлено больше, чем положительных, а при нечетном наоборот.
Примеры. Пусть основание системы n= -2. Тогда при количестве разрядов m = 4 имеем:
0001=+1 | 0110=+2 | 1011=-9 |
| ||
0010=-2 | 0111=+3 | 1100=-4 | |||
0011=-1 | 1000=-8 | 1101=-3 | |||
0100=+4 | 1001=-7 | 1110=-6 | |||
0101=+5 | 1010=-10 | 1111=-5 |
Итак, положительные числа: 1, 2, 3, 4, 5 (их пять), а отрицательные: –1, –2, ..., –10 (их десять).
При m = 3:
001= +1 | 100 = +4 | 110 = +2 | |||
010= –2 | 101 = +5 | 111 = +3 | |||
011= –1 |
Итак, положительные числа: 1, 2, 3, 4, 5, а отрицательные: -1, -2.
Известно, что каждое целое число A
может быть представлено в виде
![](image/5-2-sistemy-kodirovanija-dannyh-s-otricatelnym_1.gif)
где при n < –1 имеет место 0 £ Ci < –n–1.
Для дробных чисел верно
![](image/5-2-sistemy-kodirovanija-dannyh-s-otricatelnym_2.gif)
Рассмотрим наиболее привычный нам частный случай СКД при n = –2. Здесь Ci Î {0; 1}. Предположим, что m = 5. Тогда таблица представления целых чисел от –10 до 10 будет иметь следующий вид (табл. 5.1).
Таблица 5.1. Представление целых чисел
Веса | (-2)4 | (-2)3 | (-2)2 | (-2)1 | (-2)0 | Веса | (-2)4 | (-2)3 | (-2)2 | (-2)1 | (-2)0 | ||||||||||||
Числа | 16 | ?8 | 4 | ?2 | 1 | Числа | 16 | ?8 | 4 | ?2 | 1 | ||||||||||||
0 | 0 | 0 | 0 | 0 | 0 | ?10 | 0 | 1 | 0 | 1 | 0 | ||||||||||||
1 | 0 | 0 | 0 | 0 | 1 | ?9 | 0 | 1 | 0 | 1 | 1 | ||||||||||||
2 | 0 | 0 | 1 | 1 | 0 | ?8 | 0 | 1 | 0 | 0 | 0 | ||||||||||||
3 | 0 | 0 | 1 | 1 | 1 | ?7 | 0 | 1 | 0 | 0 | 1 | ||||||||||||
4 | 0 | 0 | 1 | 0 | 0 | ?6 | 0 | 1 | 1 | 1 | 0 | ||||||||||||
5 | 0 | 0 | 1 | 0 | 1 | ?5 | 0 | 1 | 1 | 1 | 1 | ||||||||||||
6 | 1 | 1 | 0 | 1 | 0 | ?4 | 0 | 1 | 1 | 0 | 0 | ||||||||||||
7 | 1 | 1 | 0 | 1 | 1 | ?3 | 0 | 1 | 1 | 0 | 1 | ||||||||||||
8 | 1 | 1 | 0 | 0 | 0 | ?2 | 0 | 0 | 0 | 1 | 0 | ||||||||||||
9 | 1 | 1 | 0 | 0 | 1 | ?1 | 0 | 0 | 0 | 1 | 1 | ||||||||||||
10 | 1 | 1 | 1 | 1 | 0 |
Из табл. 5. 1 видно, что знак числа определяется местоположением первой значащей цифры: если старшая значащая цифра стоит в четном разряде, число отрицательное, если в нечетном – положительное.
Рациональные числа
Веса |
(?1/2) |
(?1/2)2 |
(?1/2)3 |
(?1/2)4 |
?1/2 |
¼ |
?1/8 |
1/16 |
|
Числа |
?0,5 |
0,25 |
?0,125 |
0,0625 |
1. Сложение. Пусть ai, bi – разряды слагаемых; Pi-1 – перенос из (i?1)-го разряда на i-й; Pi – перенос из i-го в (i+1)-й. Тогда справедливо соотношение gi + Pi(–2) = ai + bi+Pi-1.
Возможные значения разрядов:
Pi Î{0; 1;
![](image/index-image067.gif)
Пример. Пусть gi + Pi(?2) = 2, тогда gi = 0, Pi =?1;
gi + Pi(–2) = –1, тогда gi =1, Pi =1.