2013-03-01 3 views
0

Так что это был один из вопросов, в моих учебниках, мы не получили там еще, но я заинтересован в том, как это все работает,двоек Один в комплимент 8 разрядное знаковое величину, в двоичном

Для первого бита здесь, мое понимание своего дополнения, вы переверните так, что там, где есть 1, вы положили 0 и 0, вы положили их. Это должно быть 8 бит, поэтому я добавил ноль в двоичном в начале Therefre 01001001 Запишите следующие двоичные представления +73:

8-bit unsigned: 01001001 
8-bit signed-magnitude: 01001001 
8-bit one's complement: 10110110 
8-bit two's complement: 10110111 
8-bit excess-128: 10110111 

Эти ответы, которые я придумал, но я» Я довольно уверен, что сделал это неправильно. Любые разъяснения по этому поводу?

Во-вторых, как я это делаю с отрицательным значением -73, двоичный код - только -01001001, поэтому я предполагаю, что это подписанный, вы делаете ту же технику, что и выше (при условии, что я получил их правильно)

8-bit signed-magnitude: -01001001 
8-bit one's complement: 
8-bit two's complement: 
8-bit excess-128: 

заранее спасибо за любую помощь

ответ

1

+73 во всех представлениях названных вами кроме избыточного-128 01001001. В избытке-128 его 11001001 (добавьте 128 к нему). Величина знака, его дополнение и два дополняют друг друга для положительных чисел и отличаются только отрицательными числами. Значение -73 в этих представлений:

8-bit sign magnitude 11001001 
8-bit one's complement 10110110 
8-bit two's complement 10110111 
8-bit excess-128  00110111 

в поразрядное дополнение «перевернуть все биты», как вы инвертировать число в дополнение до обозначений. Поэтому, если у вас есть n, получить -n вы переверните все биты.

'flip all bits and add 1' - это то, как вы отрицаете число в дополнении.

Оба дополнения и два дополнения имеют одно нечетное значение. Для своего дополнения, которое равно -0 (все биты установлены), что действительно то же самое, что и 0, или вы можете считать его недействительным и особым случаем, отрицающим 0. Для двух дополнений это -2^(n-1) - - 128 для 8-битного - это число, которое сводит на нет из-за переполнения.