如何翻转 MIPS 中的最高有效位?
How do I flip the most significant bit in MIPS?
我正在尝试将 MIPS 中 2 的补码中的数字转换为符号大小。为此,我想我会:
- 减去 1
- 'Not'这个词
- 翻转最高有效位
例如,11111111111111111111111111111001
(0xfffffff9
) 将变为 00000000000000000000000000000111
(0x00000007
)。
我知道如何执行第 1 步和第 2 步,但不知道第 3 步。有人知道我该怎么做吗?
此外,在 MIPS 中是否有更好的方法将 2 的补码格式转换为符号幅度格式?
如果将值与 0x80000000
异或,最高有效位将翻转。您可以通过与 0x7fffffff
.
异或来执行最后两个步骤(保留最高有效位并翻转其他位)
我正在尝试将 MIPS 中 2 的补码中的数字转换为符号大小。为此,我想我会:
- 减去 1
- 'Not'这个词
- 翻转最高有效位
例如,11111111111111111111111111111001
(0xfffffff9
) 将变为 00000000000000000000000000000111
(0x00000007
)。
我知道如何执行第 1 步和第 2 步,但不知道第 3 步。有人知道我该怎么做吗?
此外,在 MIPS 中是否有更好的方法将 2 的补码格式转换为符号幅度格式?
如果将值与 0x80000000
异或,最高有效位将翻转。您可以通过与 0x7fffffff
.