任意进制转换函数

//int to string
string IntToStr(int num)
{
char* tempStr = "";
tempStr = (char*)malloc(sizeof(num));
memset(tempStr, 0, sizeof(num));
sprintf(tempStr, "%d", num);
return (string)tempStr;

}


//int to string

string IntToStr(int num)

{

char str[200];

sprintf(str, "%d", num);

return (string)str;

}





/*
进制之间转换
strSrc 原始数据,
返回值  返回结果数据,
numSrc 原始进制
numDes 返回结果进制
*/
string thranslateScale(string strSrc, int numSrc, int numDes)
{
int num = 0; //转换成十进制后的数
int t = 0;
//1 转十进制
for (int index = 0; index < strSrc.size(); ++index)
{
if (strSrc[index] >= '0' && strSrc[index] <= '9')
t = strSrc[index] - '0';
else
t = strSrc[index] - 'A' + 10;


num = numSrc*num + t;
}


//转numDes进制
string strDes = "";
for (;;)
{
t = num%numDes;
num /= numDes;
if (t <= 9)
strDes = IntToStr(t) + strDes;
else
strDes = (char)((t - 10 + 'A')) + strDes;
if(num == 0)
break;
}


return strDes;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值