Я готовлюсь к экзамену и хотел бы проверить свои ответы на этот вопрос:
Предположим, что двоичные значения представляют собой 8-битные значения со знаком, представляющие формат с двойным дополнением и десятичный диапазон от -От 128 до 127. Какие из следующих утверждений являются истинными / ложными?
1) 11111111> 0111111
Я думаю, что это неверно, поскольку первая цифра представляет знак, поэтому мы сравниваемОт отрицательного значения до положительного.
2) (11111111 + 11111111)> (00000001 - 00000010)
Я не уверен в этом, потому что не знаю, что происходит, когдаэто переполняется.Я думаю, что компьютер просто сбрасывает последнюю цифру.Поэтому я думаю, что левая сторона как -128 - 128 = -256.Тогда правая часть равна 1 - 2 = -1, что представлено как 1000001. Это означает, что неравенство в десятичном виде становится -256> -1, что неверно.Но опять же, я не уверен в этом.
3) (10000000/00000100) == 11100000
Первая часть -0/4, а вторая ненулевая, поэтому будет ли она ложной?
Кроме того, есть только примеры проблем, и я хотел бы попрактиковаться / изучить самостоятельно.Есть ли способ, которым я могу написать программу на C ++, чтобы увидеть ожидаемый результат вопросов этой формы?
Спасибо.