基本思路
十进制转换为N进制的基本方法:除N取余法
方法介绍(十转十六为例)
例如300转换为十六进制:
300 ÷ 16 = 18 ……余12即C
18 ÷ 16 = 1……余2即2
1 ÷16 = 0……余1即1
此时结果为0,结束取余,将取出的余数逆向排列即:12C
则12C即为300的十六进制数
总结为:除十六取余直至结果为0,最后将余数逆向排列
C++代码
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
string str;
char c;
int x,t,i = 0,sum = 0;
cin >> x;
do
{
t = x % 16;
x = x / 16;
if (t < 10)
{
c = '0' + t;
str = c + str;
}
else
{
c = 'A' + t - 10;
str = c + str;
}
} while (x);
cout << str;
return 0;
}
注:字符c与字符串衔接时,需要前接。