Я работаю над курсом Nand2Tetris. Сейчас я работаю над чипом ShiftLeft, который помогает нам умножать двоичное число со знаком.
Разница между арифметическим и логическим ShiftLeft довольно неясна.
Они также спросили нас: «Можете ли вы подуматьразличных применений для каждого? При реализации чипа Mul, попробуйте использовать оба. "
Более того, моя арифметика ShiftLeft приводит к некоторым ошибкам при умножении двух отрицательных чисел, тогда как логическое - нет.
Может ли кто-нибудь объяснить разницу между ними и объяснить, как правильно использовать эти сдвиги для построения чипа умножения?
Спасибо.