я использую int128_t
в ускорении, мультиточная библиотека.
Когда я пишу int128_t number = 265252859812191058636308480000000;
У меня ошибка, эта константа слишком длинная.
Как правильно ввести 128-битное значение?
Например:
AF5228967057FE1CB84B92511BE89A47
в int128_t?
Как сказал @ 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 описывает, как их использовать.
Других решений пока нет …