Преобразование числа из прямого кода в дополнительный осуществляется так:
Если число, записанное в прямом коде, положительное, то к нему дописывается старший (знаковый) разряд, равный 0, и на этом преобразование заканчивается; Если число, записанное в прямом коде, отрицательное, то все разряды числа инвертируются, а к результату прибавляется 1. К получившемуся числу дописывается старший (знаковый) разряд, равный 1.
1) Записываем наше число в прямом(обычном двоичном коде в 16-разрядном представлении)
-7 в десятичной = 0000000000000111 - нули у нас впереди так как сетка 16 -разрядная
2) Инвертируем все разряды числа: 1111111111111000
3) Прибавляем к этому числу 1: 1111111111111001
4) Старший знаковый разряд у нас уже равен 1 следовательно число -7 в 10-ой в дополнительном коде: 1111110100111010
Answers & Comments
сначало переводим это же число только со знаком плюс в двоичную систему счисления
7 = 0000000000000111 и дописываем впереди 13 нулей, т.к. нам нужен код в 16-разрядном представлении
теперь дописываем спереди бит отвечающий за знак
1,0000000000000111 пр.
теперь записываем обратный код, для этого нужно заменить все 0 на 1, а 1 на 0 за исключение бита отвечающего за знак
1,1111111111111000 обр.
теперь чтобы получить допонительный код нужно к обратному прибавить 1
1,1111111111111001 доп.
Преобразование числа из прямого кода в дополнительный осуществляется так:
Если число, записанное в прямом коде, положительное, то к нему дописывается старший (знаковый) разряд, равный 0, и на этом преобразование заканчивается;
Если число, записанное в прямом коде, отрицательное, то все разряды числа инвертируются, а к результату прибавляется 1. К получившемуся числу дописывается старший (знаковый) разряд, равный 1.
1) Записываем наше число в прямом(обычном двоичном коде в 16-разрядном представлении)
-7 в десятичной = 0000000000000111 - нули у нас впереди так как сетка 16 -разрядная
2) Инвертируем все разряды числа: 1111111111111000
3) Прибавляем к этому числу 1: 1111111111111001
4) Старший знаковый разряд у нас уже равен 1 следовательно число -7 в 10-ой в дополнительном коде: 1111110100111010