- (не 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?
Спасибо,