1. 程式人生 > >返回引數二進位制中 1 的個數

返回引數二進位制中 1 的個數

程式碼:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>

int CountOneBits(unsigned int value)
{
	//1.轉換為二進位制,即對2反向取模   由於本程式只是求取1的個數,所以不考慮方向
        //2.若模為二,則計數加1
	
	//定義計數值
	int count=0 ;
	int num;
	while (value != 0){
		num = value % 2;
		if (num == 1){
			count += 1;
		}
		value /= 2;
	}
	return count;
}

int main(){
	int num;
	printf("請輸入一個數字:\n");
	scanf("%d", &num);
	printf("1的個數為%d\n",CountOneBits(num));

	system("pause");
	return 0;
}

執行結果: