Мне нужна помощь в определении, верна моя логика или нет.
Пример вопроса
«Предполагая, что у меня есть 8-битное десятичное значение со знаком 200 в форме дополнения до двух ...»
Процесс моих мыслей
Теперь, поскольку он 8-битный и подписан, старший бит должен быть зарезервирован для знака.
Таким образом, максимальное положительное значение, которое он может иметь, составляет:
2^(8-1) - 1 = 127
Сначала я был сбит с толку, потому что подумал, почему вопрос о том, что 200 может быть 8-битным и подписанным? Тогда я подумал, вот тут-то и возникает вопрос о комплиментах этих двоих.
Поскольку на самом деле это два комплимента, так оно и есть:
8-битная подпись, комплимент двойки, десятичное число = 200
Преобразовать в двоичный -> 1100 1000
Поскольку он подписан, фактический номер дополнения два ДЕЙСТВИТЕЛЬНО -56 (я бы использовал методы отрицания, чтобы инвертировать 1 и 0, а затем + 1, но для экономии времени я только что нашел конвертер в Интернете ).
Итак, мой вывод:
8-битная подпись, комплимент 2, десятичное значение 200 на самом деле -56.
Главный вопрос
Правильно ли с этим мой мыслительный процесс? Если так, то я думаю, что самая запутанная часть этого состоит в том, что я говорю моему мозгу, что одно число равно совершенно другому числу.