进制转换的c++实现
2013-05-08 16:28
211 查看
void valconvert8_s(unsigned int val, char*& buffer) { int val0 = val; // 保存10进制数 int m = 8; // 转换的模 int n = 0; // 8进制位数 // 统计8进制有几位 while(val) { val /= m; n++; } // 转换8进制生成字符串 char* buf = new char ; int i = 0; val = val0; while(val) { buf[(n-1)-i] = '0' + val % m; val /= m; i++; } buf = '\0'; // 传出参数 buffer = buf; }
//十进制到任意2-36进制转换,健壮版 //
//10 to 2=<t<=36
void valconvert8hj(unsigned int val, int t,/*t进制*/ char* &buffer)
{
int val1=val, n=0;
char* buf;
while(val1)//转换数位数
{
val1 /= t;
++n;
}
buf=new char[n+1];
buf
='\0';
buf=&buf[n-1];
val1=val;
while(val1)
{
*buf--= (val1 % t + '0') >57 ? (val1 % t + '0') + 7 : (val1 % t + '0');//0~9,A(10)~Z(36)
val1 /= t;
}
++buf;
buffer=buf;
printf("%d(10)=%s(%d)\n",val,buf,t);
}
相关文章推荐
- C++十进制到各种进制转换的实现
- 十六进制字符串转换成十进制整数的C++实现源代码
- C++实现将十进制数转换为小于等于九的任意进制
- C++实现——任意进制之间的转换
- 任意进制整数之间的相互转换(C++实现)
- 同余幂的原理和C++实现,附赠一个10进制数转换为任意进制的数组的算法。
- 在C++中用栈实现进制之间的转换
- python编程实现十进制的转换(十进制到任何进制不用系统函数实现)
- 使用java语言实现进制之间的相互转换
- 用栈实现进制转换十进制转换成:二进制数、八进制数、十六进制数
- 14.2线性表之STL实现10进制向任意进制的转换
- C++联合体转换成C#结构的实现方法
- C++实现CString和string的互相转换
- Python实现任意进制之间的转换
- 3d数学基础-欧拉角转换与旋转矩阵或旋转矩阵转换成欧拉角-用C++代码实现
- 用栈实现将十进制数转换为任意进制数(2,8,16...).
- ORACLE中用一条SQL实现其它进制到十进制的转换
- C语言简单实现进制互相转换
- 栈的实现,进制数转换以及符号匹配
- C++十进制到n进制的转换