计算数字二进制表示中1的数量的最佳方法。 (MIPS)

时间:2014-09-15 02:23:27

标签: binary mips

我需要计算二进制数中的1的数量,比方说5,所以00001001将是2或n = 2。我正在使用MIPS。最好的方法吗?

1 个答案:

答案 0 :(得分:1)

执行此操作的最佳方法是计算

您可以通过1来检查是否设置了最低有效位(and)。如果你得到一个非零结果,它就被设置了,所以你应该增加一个计数器(当然最初初始化为零)。

您可以使用逻辑shifty运算符来右移所有值的位。

您可以循环执行这两项操作,直到您的值最终为零。大多数架构都有条件分支指令。

然后,您的任务是找到MIPS的指令并按正确的顺序排列: - )

没有特别的顺序,我会查看以下一组说明:{andi, srl, beq, addi},但可能还有其他一些你需要的。