Как сдвинуть двоичное число, заполнив MSB 1? - PullRequest
0 голосов
/ 05 апреля 2010

В MIPS есть способ сместить двоичное число (0000), заполнив его MSB 1 (1000 и в следующий раз 1100 и в следующий раз 1110 и т. Д.) Каждый раз?

1 Ответ

2 голосов
/ 05 апреля 2010

Если бит знака установлен, арифметическое смещение вправо сместится в 1 влево (предположительно для расширения знака)

sra Сдвиг правой арифметики на постоянное количество бит

srav Сдвиг правой арифметики на переменное число бит

"sra и srav ведут себя как sll и sllv, но смещаются вправо, а не влево. Знаковый бит сдвигается от самого старшего конца, а биты падают с самого младшего конца."

http://www.cs.umd.edu/class/sum2003/cmsc311/Notes/Mips/bitshift.html

...