下面是用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的个数。

C语言实现字符二进制转换及统计1的个数

原文地址: https://www.cveoy.top/t/topic/qyQP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录