如标题所述,我想将一个多位双精度数拆分为多个部分,每个部分包含 4 个数字。
我已经将双精度数舍入到最接近的整数,所以没有小数部分,剩下的是一个非常长的双精度数,远远超过最大的长长整数。
我需要将整数部分拆分为几个 4 位数字部分,整数部分非常简单,这样的 while 语句就可以了:
unsigned long long int IntegerWithSeveralParts;
unsigned short int i = 0;
unsigned int Parts[10];
while ( IntegerWithSeveralParts )
{
Parts[i] = IntegerWithSeveralParts % 10000;
IntegerWithSeveralParts /= 10000;
++ i;
}
是的,我知道这些部分的顺序是相反的,但是向量可以解决这个问题。问题是,我不能对浮点数和双精度数执行模块化,这对我来说很重要。我可以将它们转换为字符串,然后从中进行拆分,但这非常耗时,因为这将包括流的使用。
还有其他方法吗?