Курс лекций по вычислительной технике



         

Кодирование отрицательных чисел


В ЦВМ, как правило, знак числа помещается в старшем разряде и  кодируется в двоичном коде: положительные числа имеют "0"  ,  а  отрицательные - "1".

Пусть сетка четырёхразрядная  ХХХХ

 Минимальное не представимое число  10000

      Положит.          Отриц. число

      числа             равное по мод.

мин.     0000              1000

макс.    0111              1111

 Такой способ кодирования носит название прямого кода. Недостаток - наличие двух нулей: положительного и отрицательного, трудность операций над числами с разными знаками (вычитание из большего числа меньшего), необходимость кроме суммирующего и вычитающего устройства.

     Обратный (инверсный или дополнительный до 1). Отрицательные  числа получаются из положительных путём замены единичных  разрядов на нулевые и наоборот. Особенность выполнения операций суммирования – необходимость циклического переноса. Недостатком данного вида  кодирования является увеличение времени сложения и наличие двух нулей 0000 и 1111.

В настоящее время наиболее употребительным  способом  представления

отрицательных чисел является представление их в дополнительном коде (до 2-х   для чисел меньше «1»).

Это представление основывается на ограниченности разрядной  сетки.

При этом отрицательное число, равное по модулю заданному положительному, образуется путём его вычитания из минимального выходящего за  данную разрядную сетку положительного числа, например,

          10000

- 0101

----

  1011

   Действительно, движение по оси действительных чисел влево от нуля с

учётом разрядной сетки приводит к  появлению  максимально представимого  числа.

         В действительности же мы перемещаемся в область чисел от "1" до"2", точнее "2(n-1)-1".

   

        -1                              0                                +1                          +2

    _______________________________________________________           -                   -1000¦-0111          -0001¦0000                  0111¦1000           1111¦10000




Содержание  Назад  Вперед