2013-12-09 3 views
0

저는 mips를 처음 사용합니다. 기본 함수 (레지스터 사용 방법, syscall을 사용하여 int를 스캔 및 스캔하는 방법)를 알고 있지만 32 비트 정수의 개별 비트에 액세스하여 1의 수를 계산하는 방법을 파악할 때 벽을 두드렸다. 그 안에. 모든 비트를 나타 내기 위해 int 배열을 작성해야한다고 생각했습니다. 그러나 더 쉬운 방법이 있어야하는 것처럼 느껴집니다.int의 개별 비트를 mips로 asses?

+0

주십시오 무엇을 당신이 시도하는 방법 .. – Akshat

+1

당신이 원하는 것은 _popcount_, 그리고 당신이 그것을 [여기]에 대해 읽기 시작할 수 있습니다 (http://en.wikipedia.org/위키/해밍 _ 중량). – Michael

답변

0

기본적으로 :

int countOnes(int number) 
{ 
    int count = 0; 

    for (int i = 1; i < 32) { 
     count += number & 1; 
     number >>= 1; 
    } 
    return count; 
} 
관련 문제