Мне нужна помощь в определении того, правильно ли я здесь ошибаюсь.Нужна помощь в понимании 8-битного десятичного знака с дополнением 2
Пример Вопрос
"Предполагая, что у меня есть 8-разрядное десятичное значение 200 в двух в форме комплимента ..."
Моя мысль Процесс
Теперь, потому что это 8 бит и подписан, самый старший бит должен быть зарезервирован для знака.
Таким образом, максимальное положительное значение оно может иметь:
2^(8-1) - 1 = 127
Сначала я был смущен, потому что я думал, почему вопрос о том, что 200 может быть 8 бит и подписан? Тогда я подумал, вот где заявление о комплименте двух под вопросом.
Потому что это двоичный комплимент на самом деле, это так:
8-разрядная, 2 в Комплименте, Decimal = 200
Преобразования в двоичный -> 1100 1000
Потому что это подписывается, номер комплимента фактического двух - ACTUALLY -56 (я бы использовал методы отрицания для инверсии 1 и 0, а затем + 1, но для интереса времени я просто нашел конвертер онлайн).
Так что мой вывод:
8-разрядное, 2 в Комплимент, десятичное значение 200 фактически -56.
Окончательный Вопрос
ли мой мыслительный процесс правильно с этим? Если это так, я думаю, что самая запутанная часть об этом говорит моему мозгу, что одно число равно совершенно другому числу.
так как будет представлено десятичное число 200? или мы не можем? Мне нужно обновить эту ... любую ссылку, чтобы прочитать об этом? – Nirmal
200 не может быть представлен в 8 битах с использованием двух дополнений, диапазон составляет -127 <-> 128. Либо биты должны интерпретироваться как целое число без знака, либо вам нужно больше битов (не менее 9), чтобы представить 200 в качестве номера дополнения двух – AnilRedshift