我有一个函数,可以将输入数字的小数部分转换成另一个数字系统(不是最漂亮的代码):
void FracToAny(double D, int q, int t)
{
double b[10] = {0};
for (int i = 1; i < t; i++)
{
double DP = D * q;
D = modf(DP, &b[i]);
if (D == 0)
{
break;
}
D = DP - b[i];
}
for (int i = 0; i < t; i++)
{
if (q == 16)
{
switch ((int)b[i])
{
case 10:
printf("A");
break;
case 11:
printf("B");
break;
case 12:
printf("C");
break;
case 13:
printf("D");
break;
case 14:
printf("E");
break;
case 15:
printf("F");
break;
default:
printf("%d", (int)b[i]);
break;
}
}
}
}
结果,我得到了一个double数组,它是得到的小数部分的一个字符一个字符的表示。但是,我想以“0.result”的形式从函数返回这个值。我该怎么做呢?
最好不要使用联合或动态内存分配(我看到他们试图找到解决问题的方法)。
1条答案
按热度按时间wpx232ag1#
我认为这是你正在努力做的(见我上面的评论):