如何翻转MIPS中最重要的位?

时间:2015-03-31 00:23:07

标签: mips

我正在尝试将MIPS中2的补码中的数字转换成符号幅度。要做到这一点,我想我会:

  1. 减1
  2. '不'
  3. 这个词
  4. 翻转最重要的位
  5. 例如,111111111111111111111111111110010xfffffff9)将成为000000000000000000000000000001110x00000007)。

    我想出了如何做第1步& 2,但无法弄清楚第3步。有谁知道我会怎么做?

    此外,还有更好的方法可以将2 +的补码转换为MIPS中的符号幅度格式吗?

1 个答案:

答案 0 :(得分:1)

如果您使用0x80000000对值进行异或,则最高位将会翻转。您可以通过XOR&0x7fffffff完成最后两个步骤(保留最重要的位并翻转其他位)。