Как мога да конвертирам boost cpp_int
(>1000 бита) към неговото двоично представяне в низ (напр. "1011....11001"
)?
Опитах да го конвертирам от std::bitset
, но не работи при по-големи числа
Редактиране - решение:
Това съдържа решение за този въпрос:
Вместо int
-> cpp_int
std::string toBinary(boost::multiprecision::cpp_int n)
{
std::string r;
while(n != 0)
{
r = (n % 2 == 0 ? "0":"1") + r;
n /= 2;
}
return r;
}