Зачем мы добавляем единицу??

0 голосов
39 просмотров

Зачем мы добавляем единицу??


image

Информатика (225 баллов) | 39 просмотров
0

Дополнительный код наиболее распространённый способ представления отрицательных целых чисел в компьютерах. Он позволяет заменить операцию вычитания на операцию сложения и сделать операции сложения и вычитания одинаковыми для знаковых и беззнаковых чисел → упрощает архитектуру ЭВМ

0

256₁₀ = 16²= 100₁₆ = [знак="0"] 0000001 0000 0000₂

0

Прямой код отр.числа -256: [знак="1"] 0000001 0000 0000₂

Дан 1 ответ
0 голосов
Правильный ответ

task/30720014

256₁₀ = 2⁸  = 100000000 .       [ 1 0000 0000 ]

Если допустим ,что "слово" ( разрядная сетка  компьютера) состоит из 16-ти двоичных разрядов_битов ,то это число удобно  изображать по групам ;  в каждой группе 4 битов , код (бит) знака в старшем разряде)    

0 000 0001 0000 0000      (  " 0 "положительное число )

Обратный код отрицательного числа  ( - 256 ):

1 111 1110  1111 1111  ( "1 " - отрицательноьное число )

* * * получается инверсией каждого бита ( все цифры числа заменяются на противоположные :1 на 0, 0 на 1) , а в знаковый разряд заносится единица. * * *

Допольнительный код отрицательного числа  ( - 256 ):

1 111 1111  00000000 ₂  

* * * Обратному коду прибавляется 1  * * *

==========

256+(-256) = 0 000 0001 0000 0000 +  1 111 1111  00000000 =

= 0 000 0000 0000 0000  (суммирование по столбцам)

==========

Пример : 560  + (-  201 ) = (2⁹ + 2⁵ +2⁴ ) + ( -1 ) *(2⁷+2⁶ +2³+2⁰)  

* * * 560 - 201 = 560  + (- 201 )  =  359  * * *

560 = 512 + 48 =  2*16²+3*16 =2⁹ + 2⁵ +2⁴ =  0 000 0010 0011 0000

201 = 12*16+9  =   11001001   = 0 000 0000 1100 1001 ;  

обр.код (- 201 )  =  1 111 1111 0011 0110   ;

доп.код (-201) = 1 111 1111 0011 0111  .

- - - - - - - -

560+(-201 ) = 0 000 0010 0011 0000 + 1 111 1111 0011 0111   =

= 0 000 0001 0110 0111 =  

2⁸ +2⁶ +2⁵ +2² +2¹ +2⁰ = 256+64+32+4+2+1 = 359  

[ = 167₁₆ = 1*16² +6*16 + 7 =359 ]

P.S. Прямой код ,обратный код  , допольнительный код для положительных чисел  равны  (совпадают ).

(181k баллов)