黑马程序员技术交流社区

标题: 编程实现10进制转2进制 [打印本页]

作者: 颖峰    时间: 2015-8-31 20:55
标题: 编程实现10进制转2进制
#编程实现10进制转2进制
// >>(31-i)    取出二进制数的每一位数   1100......1100
// &1          任何一个数和1进行&(按位与)得到任何一个数的二进制的最后一位

void changeTo2(int num){  //12

    int len = sizeof(int)*8;   //二进制每个字节占8位  int 占 32位

    //定义一个变量   保存二进制的每一位
    int temp = 0;

    for (int i = 0; i<len; i++) {

        temp = num;

        //每次移动的位数
        temp = temp >> (31-i);  //1 1 0

        //   1101 ...... 0001

        //取出最后一位    使用&   同1为1,有0为0
        temp = temp & 1;  //1 1 0

        //逢4空格
        if (0 == i%4) {

            printf(" ");

        }

        printf("%d",temp);  110
    }

    printf("\n");

}


作者: lixiaob626    时间: 2015-8-31 21:41
有点萌。。。多敲才得行啊!
作者: cwwcyy    时间: 2015-9-1 12:03
以前敲过一个,比这个麻烦一些。。。。谢谢楼主啦




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