- (не A) = A + 1

я есть некоторые основные сомнения, но каждый раз, когда я сижу, чтобы попробовать свои силы на вопросах интервью, эти вопросы и мои сомнения всплывают.

Скажи А = 5

В = -2

Я говорю A + B. Я предполагаю, что A и B являются 4-байтовыми. Как процессор делает это дополнение? Я понимаю, что A будет иметь знаковый бит (MSB) как 0 для обозначения положительного целого числа, а B будет иметь знаковый бит как 1 для обозначения отрицательного целого числа.

Теперь, когда в программе на C ++ я хочу напечатать A + B, проверяет ли модуль сложения ALU (Arithmetic Logic Unit) сначала на знаковый бит, а затем решает выполнить вычитание и затем следовать процедуре вычитания. Как вычитание будет моим следующим вопросом.

А = 5

В = 2

хотите, чтобы компьютер A-B взял 2-секундное дополнение B и добавил A + 2-дополнение и вернул его (после сброса лишнего бита слева)?

А = 2

В = 5

делать A-B Как компьютер в этом случае?

Я понимаю, что любая условная логика типа «если-то» и т. Д. Все будет выполняться аппаратно внутри АЛУ. вычисление дополнения 2s и т. д., исключая лишний бит, все будет сделано аппаратно внутри ALU Как выглядит этот компонент ALU?

Спасибо,

Ответы на вопрос(4)

Ваш ответ на вопрос