Есть ответ 👍

6отрицательное целое число –710 записать в дополнительном коде в 16-разрядном представлении с указанием знака.

262
328
Посмотреть ответы 3

Ответы на вопрос:


  преобразование числа из прямого кода в дополнительный осуществляется так:

 

  если число, записанное в прямом коде, положительное, то к нему дописывается старший (знаковый) разряд, равный 0, и на этом преобразование заканчивается; если число, записанное в прямом коде, отрицательное, то все разряды числа инвертируются, а к результату прибавляется 1. к получившемуся числу дописывается старший (знаковый) разряд, равный 1. 

 

1) записываем наше число в прямом(обычном двоичном коде в 16-разрядном представлении)

   

 

-7   в десятичной = 0000000000000111  - нули у нас впереди так как сетка 16 -разрядная   

 

 

 

  2) инвертируем все разряды числа: 1111111111111000

 

 

3) прибавляем к этому числу 1:   1111111111111001

 

 

4) старший знаковый разряд у нас уже равен 1 следовательно число -7   в 10-ой в  дополнительном коде:     1111110100111010

 

 

 

bekker222
4,5(10 оценок)

сначало переводим это же число только со знаком плюс в двоичную систему счисления

7 = 0000000000000111 и дописываем впереди 13 нулей, т.к. нам нужен код в 16-разрядном представлении

теперь дописываем спереди бит отвечающий за знак

1,0000000000000111    пр.

теперь записываем обратный код, для этого нужно заменить все 0 на 1, а 1 на 0 за исключение бита отвечающего за знак

1,1111111111111000    обр.

теперь чтобы получить допонительный код нужно к обратному прибавить 1

1,1111111111111001    доп.


Var a: array[1..15] of integer; i: integer; begin for i: = 1 to 15 do       begin       a[i]: =random(21)-10;       write(a[i],' ');       if a[i] mod 3 = 0 then a[i]: =a[i]*2;       end;       writeln; for i: = 1 to 15 do       write(a[i],' ') end.

Популярно: Информатика