用递归方式实现十进制转十六进制:
- #include <iostream>
- #include <string>
- using namespace std;
- string to_16(int num);
- char HexConvert(int n);
- int main(void)
- {
- int num = 0;
- cout<<“请输入要进行转化的数: “;
- cin>>num;
- cout<<to_16(num)<<endl;
- return 0;
- }
- string to_16(int num)
- {
- if( num < 16 && num >= 0 )
- {
- return string(“0x”) + HexConvert(num);
- }
- return to_16(num/16) + HexConvert(num%16);
- }
- char HexConvert(int n)
- {
- if(n<=9 && n>=0)
- {
- return n+‘0’;
- }
- else if(n>=10 && n<=15)
- {
- return n-10+‘A’;
- }
- else
- {
- return ‘0’;
- }
- }