由二进制拓展到十六进制
十进制转二进制
void Convert(int n,int x){
vector<int> answer;
while(n != 0){
answer.push_back(n % x);
n/=x;
}
for(int i = answer.size() - 1;i>=0;--i){
printf("%d",answer[i]);
}
printf("\n");
}
十进制转十六进制
需要用字母表示
char IntToChar(int target){
if(target < 10){
return target - '0';
}else{
return target -10 + 'A';
}
}
void Convert(int n,int x){
vector<char> answer;
if(n == 0){
answee.push_back('0');
}else{
while(n != 0){
answer.push_back(IntToChar(n % x));
n/=x;
}
}
for(int i = answer.size() - 1;i>=0;--i){
printf("%c",answer[i]);
}
printf("\n");
}
逆过程
M进制转换为N进制
原理M先转换为十进制,在转换为N进制。