黑马程序员-C-十进制正数以二进制输出

时间:2023-02-19 17:00:12

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-

将一个十进制数以二进制输出。
原理,利用位运算按位与:&。二进制中每一位与1按位与,所得的结果都是这个数。

#include <stdio.h>

int main(int argc, const char * argv[]) {
// 提示输入
    int num;
    printf("请输入一个正整数.\n");
// 接收这个数
    scanf("%d", &num);
    if (num < 0) {
        printf("输入的数不是正数。\n");
        return 0;
    }
// 声明函数
    void changeFromTenToTwo(int n);
// 调用函数
    changeFromTenToTwo(num);
      printf("\n");
    return 0;
}

//定义一个函数实现,一个int参数

void changeFromTenToTwo(int n){
    int i, j, k;
    int len = sizeof(n) * 8;
    for ( i = 1; i <= len; i++) {
        k = n>> (len - i);
        j = k & 1;
        printf("%d",j);
    }

}