首页 > 编程语言 > C/C++开发 > C语言怎么输入十进制输出二进制?
2022
01-14

C语言怎么输入十进制输出二进制?

很多人都知道,C语言中printf打印数的格式化表示方法有十进制、八进制、十六进制,但没有二进制。所以需要通过编程实现。那十进制怎么转换成二进制?

方法就是用“除2取余数,余数再逆向排序法”。

举个例子:【例】把十进制数13转换成二进制【步骤】

  1. 13除以2,商为6,余数1
  2. 6除以2,商为3,余数0
  3. 3除以2,商为1,余数1
  4. 1除以2,商为0,余数1
把余数逆序排列,得到:1101上面是我们笔算手算,那怎么用C语言编程实现?


教程代码如下:


# include <stdio.h>
# include <math.h>

/*
* 函数功能:十进制转二进制
* @ num:要被还换成二进制的十进制数
* 返回值:二进制数
*
*/
int transfer_10_to_2(int num)
{
    int a=num, b, c, n=0;
    for (int i = 1; a !=0; i++)
    {
        b = a / 2;    //商  
        c = a % 2;    //余
        n = c * (int)pow(10,  i-1) + n;  //余数
        a = b;  //新的被除数,供下一步使用
    }

    return n;
}

int main()
{
    int number;
    while (1)
    {
        printf("请输入一个十进制数:\n");

        scanf("%d", &number);
        int num = transfer_10_to_2(number);
        printf("%d的二进制输出为:%d\n\n", number, num);
    }

    return 0;
}

运行结果

以上就是“C语言怎么输入十进制输出二进制?”的详细内容,想要了解更多C语言相关知识或者教程欢迎持续关注编程学习网

扫码芷若 获取免费视频学习资料

编程学习

查 看2019高级编程视频教程免费获取