Введите 128-битное значение c ++ boost

я использую int128_t в ускорении, мультиточная библиотека.

Когда я пишу int128_t number = 265252859812191058636308480000000;
У меня ошибка, эта константа слишком длинная.

Как правильно ввести 128-битное значение?
Например:

AF5228967057FE1CB84B92511BE89A47 в int128_t?

-1

Решение

Как сказал @ jonathon-reinhart, немного прочтения документации по бусту приведут вас к ответу.

В частности, http://www.boost.org/doc/libs/1_55_0/libs/multiprecision/doc/html/boost_multiprecision/tut/conversions.html показывает, как построить типы с множественной точностью из (скажем) строки.

Вы не можете создать его из литерала, потому что литералы — это только встроенные типы. Если вы не используете C ++ 11, и у вас есть компилятор, который поддерживает пользовательские литеральные преобразования, в этом случае http://www.boost.org/doc/libs/1_55_0/libs/multiprecision/doc/html/boost_multiprecision/tut/lits.html описывает, как их использовать.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]