Как я могу преобразовать 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;
}
Взгляните на это: boost.org/doc/libs/1_68_0/libs/multiprecision/doc/html/…
Добро пожаловать ! Вам вопрос кажется интересным. Однако можете ли вы показать, что вы пробовали, а какие более высокие числа не работают?