Использование арифметического или логического ShiftLeft для знакового двоичного умножения - PullRequest
0 голосов
/ 05 ноября 2019

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

Разница между арифметическим и логическим ShiftLeft довольно неясна.

Они также спросили нас: «Можете ли вы подуматьразличных применений для каждого? При реализации чипа Mul, попробуйте использовать оба. "

Более того, моя арифметика ShiftLeft приводит к некоторым ошибкам при умножении двух отрицательных чисел, тогда как логическое - нет.

Может ли кто-нибудь объяснить разницу между ними и объяснить, как правильно использовать эти сдвиги для построения чипа умножения?

Спасибо.

...