Запишите в десятичной системе счисления целые числа, если даны их дополнительные коды...

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

Запишите в десятичной системе счисления целые числа, если
даны их дополнительные коды 00110010, 1001110.
Помогите, срочно нужно, экзамен завтра(


Информатика (17 баллов) | 227 просмотров
Дан 1 ответ
0 голосов

Старший разряд в дополнительном коде двоичного числа отвечает за знак числа. 0 ~ "+", 1 ~ "-".
1. Если старший разряд равен 0, то последующие разряды напрямую переводятся в число.
00110010_{2} =+(0*2^{6}+1*2^{5}+1*2^{4}+0*2^{3}+0*2^{2}+1*2^{1}+0*2^{0})=50_{10} 
2. Если старший разряд равен 1, то число отрицательное и следующие за старшим разрядом записываются в виде:
инверсия битов+прибавление единицы.
Следовательно для перевода их в исходное число требуется:
вычесть единицу+инверсия 
Но так, как второе число состоит из 7 знаков, то слева дописывается незначащий 0. И мы возвращаемся в пункт 1(или просто число записано с ошибкой и вы потеряли разряд).
01001110_{2} =+(1*2^{6}+0*2^{5}+0*2^{4}+1*2^{3}+1*2^{2}+1*2^{1}+0*2^{0})=78_{10}

(2.7k баллов)