이진수에서 1의 수를 계산해야하므로 5라고 말하면 00001001은 2 또는 n = 2가됩니다. 나는 MIPS를 사용하고있다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까?숫자의 2 진 표현에서 1의 수를 계산하는 가장 좋은 방법. (MIPS)
0
A
답변
0
가장 좋은 방법은 입니다.이 숫자는입니다.
최하위 비트가 and
으로 설정되어 있는지 확인할 수 있습니다 (1
). 0이 아닌 결과를 얻으면 카운터가 증가해야합니다 (원래 0으로 초기화되었습니다).
논리적 이동 연산자를 사용하여 값의 모든 비트를 오른쪽으로 시프트 할 수 있습니다.
값이 0이 될 때까지 두 작업을 반복 할 수 있습니다. 대부분의 아키텍처에는 조건부 분기 명령어가 있습니다. 하지만, {andi, srl, beq, addi}
:
당신의 작업은, 다음, 내가 명령의 다음 세트에보고 할 것, MIPS에 대한 자세한 지침을 찾아 특별한 순서없이
:-) 올바른 순서에 넣어하는 것입니다 당신이 필요로하는 몇 가지 다른 것들이있을 수 있습니다.
MIPS 어셈블리 언어를 사용하고 있습니까? –