如何在boost中手动声明uint512_t?
How to declare manually uint512_t in boost?
我要声明:
uint512_t qwe = 0x5FBFF498AA938CE739B8E022FBAFEF40563F6E6A3472FC2A514C0CE9DAE23B7E;
但 c++ 不这么认为(vscode 也有提示):
integer constant is too large for its type
及其打印形式:
x: 0x514c0ce9dae23b7e
你能帮帮我吗?
您可以使用 user-defined literals to initialize Boost.Multiprecision 个数字,例如:
uint512_t qwe =
0x5FBFF498AA938CE739B8E022FBAFEF40563F6E6A3472FC2A514C0CE9DAE23B7E_cppui512;
或者,您可以使用构造函数 from string,但这效率较低,因为它需要 运行 时间解析。如果数字不是编译时常量,它会很有用。
我要声明:
uint512_t qwe = 0x5FBFF498AA938CE739B8E022FBAFEF40563F6E6A3472FC2A514C0CE9DAE23B7E;
但 c++ 不这么认为(vscode 也有提示):
integer constant is too large for its type
及其打印形式:
x: 0x514c0ce9dae23b7e
你能帮帮我吗?
您可以使用 user-defined literals to initialize Boost.Multiprecision 个数字,例如:
uint512_t qwe =
0x5FBFF498AA938CE739B8E022FBAFEF40563F6E6A3472FC2A514C0CE9DAE23B7E_cppui512;
或者,您可以使用构造函数 from string,但这效率较低,因为它需要 运行 时间解析。如果数字不是编译时常量,它会很有用。