HDU 2006 求奇数的乘积(水题)
805
2022-08-15
C语言怎么输入十进制输出二进制?(c语言输入十进制输出十六进制)
很多人都知道,C语言中printf打印数的格式化表示方法有十进制、八进制、十六进制,但没有二进制。所以需要通过编程实现。那十进制怎么转换成二进制?
方法就是用“除2取余数,余数再逆向排序法”。
举个例子:【例】把十进制数13转换成二进制【步骤】
13除以2,商为6,余数1
6除以2,商为3,余数0
3除以2,商为1,余数1
1除以2,商为0,余数1
把余数逆序排列,得到:1101上面是我们笔算手算,那怎么用C语言编程实现?
教程代码如下:
# include
# include
/*
* 函数功能:十进制转二进制
* @ 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;
}
运行结果
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~