ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

c语言中输出非负整数用二进制表示时一共有多少个1或者0组成

2022-08-16 03:00:46  阅读:144  来源: 互联网

标签:字节数 非负 二进制 unsigned 整数 int printf sizeof


 

001、

#include <stdio.h>                         // 文件包含指令,  头文件

int main(void)
{
    unsigned i;                            // 声明一个unsigned int 型的变量。
    printf("i = "); scanf("%u", &i);       // 此处从键盘输入,使用%u运算符
    
    int j = 0;                             // 声明1个int型变量, 并初始化为0int length_unsigned_int = sizeof(unsigned int);        ## 此处利用sizeof函数返回unsigned int型变量的长度(字节数)
    
    while(i)                             // 循环条件为i不为0
    {
        if(i & 1u)                    // 判断i用二进制表示时,末尾的数字是否为1, 如果是,判定结果为1, 同时j递增
        {
            j++;
        }
        i >>= 1;                      // 同时i的二进制数向右移动一位
    }                                 // 当i中全部为0时, i为0, 循环结束
    printf("j(1) = %d\n", j);              // 输出1的计数
    printf("k(0) = %d\n", length_unsigned_int * 8 - j);         // unsigned int型的总字节数 * 8(总位数), 然后减去1的个数,等位剩余的0的位数
    
    return 0;
} 

 

标签:字节数,非负,二进制,unsigned,整数,int,printf,sizeof
来源: https://www.cnblogs.com/liujiaxin2018/p/16590256.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有