#include<stdio.h>
int s(int n) {
int r = 0;
for (int i = 0; i < 32; ++i) {
if (n >> i & 1) {
r++;
}
}
return r;
}
int x(int n) {
int d=0;
int x=0;
for (int i = 0; i < 32; i++) {
if (n >> i) {
x++;
}
if (n >> i & 1) {
d++;
}
}
return x-d;
}
int main() {
int n;
scanf_s("%d", &n);
printf("%d中有%d个1\n",n,s(n));
printf("%d中有%d个0", n,x(n));
return 0;
}
十进制转二进制,二进制中有多少个0和1。
于 2023-01-21 18:01:19 首次发布