我有一个代码可以将十进制数转换为二进制数,但是由于数字很大,因此1,4e8要么总是为我提供一个整数,要么它使用了过多的内存,然后崩溃,这就是我的代码
double n = 1466333969;
double e = 10487;
double facteurs = 0;
long d = 0;
facteurs = factorisation(n);
d = calculerD(facteurs, e);
long dTemp = d / 2;
int dBin[70] = {};
int i = 0;
cout << dTemp << endl;
do
{
if (dTemp == floor(d / 2))
{
//cout << D << " " << dTemp << endl;
dBin[i] = 0;
}
else dBin[i] = 1;
d = floor(d / 2);
dTemp = d / 2;
//cout << D << " " << dBin[i] << endl;
i++;
} while (d != 0);
我检查了一下,并且calculerD函数可以正常工作并返回右d,但是之后,它似乎停留了很长时间。