A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

void printfBinary(int a){
    if(a<0){
       printf("1");
    }else{
        printf("0");
    }
    int count =(sizeof(int)*8)-2;
    int temp=0;
    while (count>=0) {
    temp=a>>count&1;
        printf("%d",temp);
        //if(0==count%8){
        if(0==count%4){
            printf(" ");
        }
        count--;
    }
    printf("\n");
    }

9 个回复

倒序浏览
据老师说这个关系到很高深的问题,基础阶段不要深究,知道这样写就好
回复 使用道具 举报
这个a的值就是你要转换成二进制的那个数
回复 使用道具 举报
加一个主函数调用就可以了,a就是要输出为二进制的数
回复 使用道具 举报
让我说什么好!
回复 使用道具 举报
你这是一个十进制转二进制输出的函数吧    红色部分是按位右移count位,再按位与1(即00000000 00000000 00000000 00000001),,count依次自减,逆序输出二进制位。
回复 使用道具 举报
加油啊加油
回复 使用道具 举报
a就是你想要转换的数,是这个函数的形参
回复 使用道具 举报
比如:编写一个函数输出一个整数的二进制表现形式,你写的a就是那个整数.
回复 使用道具 举报
对,别钻的太深,会把你绕晕的,而且浪费时间
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马