27 lines
655 B
C
27 lines
655 B
C
// 请编程, 输入一个整数,输出它的二进制数中1和0的个数。
|
||
#include <stdio.h>
|
||
|
||
int main()
|
||
{
|
||
int inputNum;
|
||
int temp = 0, zeroCnt = 0, oneCnt = 0;
|
||
|
||
printf("请输入一个整数: ");
|
||
scanf("%d", &inputNum);
|
||
|
||
for (int i = 0; temp < inputNum; i++)
|
||
{
|
||
temp = 1 << i;
|
||
// if ((inputNum & temp) == temp)
|
||
// oneCnt++;
|
||
// else if ((inputNum | ~temp) == ~temp)
|
||
// zeroCnt++;
|
||
if (inputNum & temp)
|
||
oneCnt++;
|
||
else
|
||
zeroCnt++;
|
||
}
|
||
|
||
printf("%d 的二进制中 1 有 %d 个, 0 有 %d 个", inputNum, oneCnt, zeroCnt);
|
||
return 0;
|
||
} |