有没有办法将巨大的十进制数字(x10 ^ 8)转换为二进制?

时间:2019-04-24 22:47:56

标签: binary

我有一个代码可以将十进制数转换为二进制数,但是由于数字很大,因此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,但是之后,它似乎停留了很长时间。

0 个答案:

没有答案