1、十进制转换十以下的进制代码如下:
上面的是用循环来写的,下面是用函数可以实现十进制转换十以下的进制,首先要定义一个宏常量。
2、第二个代码是十进制转换十六进制:转换十六进制时,我们首先应想到里面ABCDEF怎么得到,我们用switch来实现字符的转换。然后的操作跟十进制转换二进制一样的。
#include <stdio.h>
#define BASE 2
int main1()
{
int a = 12;
scanf ("%d", &a);
int s[10]= {0};
int i = 0;
while (a)
{
s[i++] = a % 2;
a /= 2;
}
for (i = i-1; i >= 0; i--)
{
printf ("%d", s[i]);
}
printf ("\n");
return 0;
}
void tran(int n)
{
if (n == 0)
return;
// printf ("%d", n%2);
tran(n/BASE);
printf ("%d", n%BASE);
return;
}
int main()
{
int a = 12;
tran(12);
printf ("\n");
return 0;
}
#include <stdio.h>
#define BASE 16
char num2char(int num)
{
switch (num)
{
case 0:
return '0';
case 1:
return '1';
case 2:
return '2';
case 3:
return '3';
case 4:
return '4';
case 5:
return '5';
case 6:
return '6';
case 7:
return '7';
case 8:
return '8';
case 9:
return '9';
case 10:
return 'A';
case 11:
return 'B';
case 12:
return 'C';
case 13:
return 'D';
case 14:
return 'E';
case 15:
return 'F';
}
}
void tran1(int n)
{
if (n == 0)
return;
// printf ("%d", n%2);
tran1(n/BASE);
printf ("%c", num2char(n%BASE));
return;
}
void tran2(int n)
{
if (n == 0)
return;
// printf ("%d", n%2);
tran2(n/BASE);
if (n%BASE > 9)
printf ("%c", n%BASE - 10 + 'A');
else
printf ("%d", n%BASE);
return;
}
int main()
{
int a = 12;
tran2(28);
printf ("\n");
return 0;
}
本文提供了两种不同的方法来实现十进制数转换为其他进制数的代码示例,包括二进制和十六进制。对于二进制转换,通过递归函数实现,并展示了具体的实现过程;对于十六进制转换,则通过switch语句来处理大于9的值,将其转换为相应的字符。
6996

被折叠的 条评论
为什么被折叠?



