简体   繁体   English

输入 128 位值 c++ boost

[英]Input a 128-bit value c++ boost

I use int128_t in boost, multiprecision library.我在 boost 多精度库中使用int128_t

When I write int128_t number = 265252859812191058636308480000000;当我写int128_t number = 265252859812191058636308480000000; I have a mistake, that constant is too long.我有一个错误,那个常数太长了。

How can I input 128-bit value correctly?如何正确输入 128 位值? For example:例如:

AF5228967057FE1CB84B92511BE89A47 in int128_t? AF5228967057FE1CB84B92511BE89A47 in int128_t?

As @jonathon-reinhart said, a bit of reading the boost documentation will lead you to an answer.正如@jonathon-reinhart 所说,稍微阅读一下 boost 文档就会找到答案。

Specifically, http://www.boost.org/doc/libs/1_55_0/libs/multiprecision/doc/html/boost_multiprecision/tut/conversions.html shows how to construct multi precision types from (say) a string.具体来说, http://www.boost.org/doc/libs/1_55_0/libs/multiprecision/doc/html/boost_multiprecision/tut/conversions.html展示了如何从(比如)一个字符串构造多精度类型。

You can't construct it from a literal, because literals are only built-in types.您不能从文字构造它,因为文字只是内置类型。 Unless you are using C++11 and you have a compiler which supports user-defined literal conversions, in which case http://www.boost.org/doc/libs/1_55_0/libs/multiprecision/doc/html/boost_multiprecision/tut/lits.html describes how to use those.除非您使用 C++11 并且您有一个支持用户定义文字转换的编译器,在这种情况下http://www.boost.org/doc/libs/1_55_0/libs/multiprecision/doc/html/boost_multiprecision/ tut/lits.html描述了如何使用它们。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM