黑马程序员技术交流社区

标题: 大牛给解释解释红色区域这个a是怎么来的?什么意思啊? [打印本页]

作者: love阿木蛋花    时间: 2015-11-6 23:34
标题: 大牛给解释解释红色区域这个a是怎么来的?什么意思啊?
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");
    }

作者: 熊德玺    时间: 2015-11-6 23:37
据老师说这个关系到很高深的问题,基础阶段不要深究,知道这样写就好
作者: 会长大的小牛    时间: 2015-11-6 23:37
这个a的值就是你要转换成二进制的那个数
作者: PlatoTu    时间: 2015-11-6 23:41
加一个主函数调用就可以了,a就是要输出为二进制的数
作者: 2235510    时间: 2015-11-6 23:45
让我说什么好!
作者: black747521    时间: 2015-11-6 23:50
你这是一个十进制转二进制输出的函数吧    红色部分是按位右移count位,再按位与1(即00000000 00000000 00000000 00000001),,count依次自减,逆序输出二进制位。
作者: 明哥132    时间: 2015-11-6 23:51
加油啊加油

作者: flairamyz    时间: 2015-11-6 23:56
a就是你想要转换的数,是这个函数的形参
作者: daitoudainaoali    时间: 2015-11-7 00:05
比如:编写一个函数输出一个整数的二进制表现形式,你写的a就是那个整数.
作者: 相约玉米地    时间: 2015-11-8 08:51
对,别钻的太深,会把你绕晕的,而且浪费时间




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2