很多人都知道,C语言中printf打印数的格式化表示方法有十进制、八进制、十六进制,但没有二进制。所以需要通过编程实现。那十进制怎么转换成二进制?
方法就是用“除2取余数,余数再逆向排序法”。
举个例子:【例】把十进制数13转换成二进制【步骤】
- 13除以2,商为6,余数1
- 6除以2,商为3,余数0
- 3除以2,商为1,余数1
- 1除以2,商为0,余数1
教程代码如下:
# 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语言相关知识或者教程欢迎持续关注编程学习网
扫码二维码 获取免费视频学习资料

- 本文固定链接: http://phpxs.com/post/8956/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料
查 看2022高级编程视频教程免费获取