Есть ли способ конвертировать огромные десятичные числа (x10 ^ 8) в двоичные? - PullRequest
0 голосов
/ 25 апреля 2019

У меня есть код для преобразования моего десятичного числа в двоичное число, но так как число огромно 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);

Я проверил, и функция calclerD работает нормально и возвращает правильное значение d, но потом кажется, что оно остается в longs.

...