Top.Mail.Ru
Ответы

Восстановить исходное число в десятичной системе счисления: (9F70)h

По шестнадцатеричной форме внутреннего представления целого знакового числа восстановить исходное число в десятичной системе счисления:
(9F70)h

(9F70)16 → (1001111101110000)2
1 001111101110000
1 110000010001111
1 110000010010000

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

Вопрос: если это число (9F70)16 → (1001111101110000)2 обратный код?

По дате
По рейтингу
Аватар пользователя
Новичок
5лет

cf.ppt-online.org/files/slide/d/dJazP7D3GZk9snovARKxYQ2ImlyjNwh6XOF0t5/slide-14.jpg

Рассмотрим порядок перевода числа -9 из десятичной системы в дополнительный код:
1. запишем число без знака: 9;
2. преобразуем число в двоичный код: 00001001;
3. получим обратный код: 11110110;
4. прибавим 00000001 и получим: 11110111.
Если результат операции представлен в дополнительном коде, то для перевода его в десятичный вид используем нижеследующую процедуру
1. запишем дополнительный код: 11110111;
2. получим обратный код: 00001000;
3. прибавим 00000001: 00001001;
4. преобразуем число в десятичный код: -9

Аватар пользователя
Просветленный
5лет

9F70=9*16³+15*16²+7=40816