我是mips的新手。我知道基本功能(如何使用系统调用来使用寄存器,打印和扫描内容)但是当我试图找出如何访问32位整数的各个位以计算1的数量时,我已经碰壁了。在里面。我想我可能不得不创建一个int数组来表示所有的位?但我觉得必须有一个更简单的方法。
答案 0 :(得分:0)
基本上是:
int countOnes(int number)
{
int count = 0;
for (int i = 1; i < 32) {
count += number & 1;
number >>= 1;
}
return count;
}