通过相除取余的方法进行进制的转换
#include <stdio.h>
#include <iostream>
using namespace std;
//十进制转八进制和十六进制
//hexadecimal
void ConvHex(int num)
{
if(num/16>0)
{
ConvHex(num/16);
}
printf("%d",num%16);
}
//octal
void ConvOct(int num)
{
if(num/8>0)
{
ConvOct(num/8);
}
printf("%d",num%8);
}
//binary
void ConvBinary(int num)
{
if(num/2>0)
{
ConvBinary(num/2);
}
printf("%d",num%2);
}
int main()
{
int x=17;
printf("===============");
printf("\nBinary num = ");
ConvBinary(x);
printf("\nOct num = 0");
ConvOct(x);
printf("\nHex num = 0x");
ConvHex(x);
printf("\n");
system("pause");
return 0;
}
输出结果: