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

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

时间:2022-08-16 02:44:06浏览次数:36  
标签:非负 二进制 unsigned 整数 ## int printf

 

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
From: https://www.cnblogs.com/liujiaxin2018/p/16590256.html

相关文章

  • Longest Increasing Subsequence (构造+二进制)
     题意:构造一个1,2,...,......
  • 习题2-1 求整数均值
    #include<stdio.h>intmain(){ intSum,a,b,c,d; doubleAverage; scanf("%d%d%d%d",&a,&b,&c,&d); Sum=a+b+c+d; Average=(a+b+c+d)/4.0; printf("Sum......
  • 二进制优化
    二进制枚举优化比如要枚举0->1023中所有的数我们平常的枚举方法就是:0,1,2,3,4,5,...,1023。这样枚举1024次使用二进制枚举优化,就可以只需枚举10次就可以枚举出任意一个......
  • 二进制数、八进制数、16进制数和十进制数的相互转换
     001、二进制数、八进制数、16进制数向十进制转换 转换规则:  002、十进制数向二进制、八进制、16位进制数转换 ......
  • 二进制获取指定位的值
    -每个十进制都可以转换为二进制:3:00118:100015:1111如果让二进制的每一位代表一个有具体含义的状态,那么这种存储状态的方式就会大大节省资源。提供一个十进......
  • 数制和二进制
    数制的概念十进制(D)        二进制(B)      八进制(O/Q)        十六进制(H)数码:数制中表示基本数值大小的不同数字符号称为数码。......
  • CF986C AND Graph(图论+二进制连边)
    CF986CANDGraph\(\color{yellow}{\bigstar\texttt{Hint}}\):和每个点连接的点是这个数取反后的子集,考虑将这个点和它的反连边,那么所有对应的数的子集都是同一个连通块内......
  • Solution -「NOI 2017」「洛谷 P3822」整数
    \(\mathscr{Description}\)  Link.  初始有整数\(x=0\),给出\(n\)次操作,每次操作为\(x\getsx+a\cdot2^b\)或询问\(x\)的第\(k\)bit.  \(n\le10^6\),......
  • Python的分子模拟动态促进DF Theory理论对二进制硬盘系统的适用性
    全文链接:http://tecdat.cn/?p=27993 原文出处:拓端数据部落公众号作者:LawrenceXi这是一个偏学术的项目。流体力学界对过冷液体(supercooledliquid)的认知还不完善,我的......
  • c语言中显示正整数逆转之后的值
     001、#include<stdio.h>intmain(void){inti;intresult=0;printf("i=");scanf("%d",&i);while(i>0){res......