C语言实现十进制数转换为二进制和十六进制

思路:输入十进制数num,num对2/8/16取余,每一次的余数存放在arr[32]数组中,最后需要倒序输出数组的内容。

注意:十进制转换为十六进制时,要对每一次的余数进行判断,如果>9,则需要输出对应的大写字母A-E——10-15

int main()
{
int y = 0, num, x; //num为输入的十进制数字,x为目标进制类型
int arr[32] = { 0 }; //存放每一次余数的数组
printf(“请输入你要转换的十进制数num和转的换的目标进制x:”);
scanf("%d %d", &num, &x);
while (num != 0) //当num不等于0 时进入循环
{
y++;
arr[y] = num % x;
num = num / x;
if (arr[y] > 9)
{
arr[y] = ‘A’ + (arr[y] - 10); //对余数的判断 主要针对16进制
}
else
{
arr[y] = arr[y] + ‘0’;
}
}
for (int i = y; i > 0; i–) //倒序输出数组
{
printf("%c", arr[i]);
}
system(“pause”);
return 0;
}
————————————————
版权声明:本文为CSDN博主「嘿小程序员」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41649694/article/details/101459595

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值