用c语言求输入一个字符型数据1 字节求它 8 个二进制数位上的数分别是什么并统计其中有多少个1;
下面是用C语言实现的代码:
#include <stdio.h>
int main() {
char ch;
int count = 0;
printf("请输入一个字符:");
scanf("%c", &ch);
printf("%c的二进制数位为:", ch);
for(int i = 7; i >= 0; i--) {
int bit = (ch >> i) & 1;
printf("%d ", bit);
if(bit == 1) {
count++;
}
}
printf("\n其中有%d个“1”\n", count);
return 0;
}
这段代码首先使用scanf函数获取用户输入的字符,并将其存储在变量ch中。
然后,使用一个循环遍历ch的二进制数位,从最高位到最低位。每次循环中,通过右移i位并与1进行按位与操作,可以获取第i位的值(0或1)。同时,统计值为1的位的个数。
最后,输出结果,包括输入字符的二进制数位和其中1的个数
原文地址: https://www.cveoy.top/t/topic/iSRZ 著作权归作者所有。请勿转载和采集!