我想要一个128位的整数,因为我想存储两个64位数字相乘的结果。gcc 4.4及以上版本有没有这样的东西?
发布于 2013-04-19 00:31:30
啊,大整数不是C的强项。
GCC确实有一个unsigned __int128
/__int128
类型,从版本4开始(这里不确定)。然而,我似乎记得,在此之前有一个__int128_t
定义。
这些仅在64位目标上可用。
(编者按:这个答案曾经声称是gcc定义了uint128_t
和int128_t
。我在Godbolt编译器资源管理器上测试的版本中,没有一个版本定义了那些没有前导__
的类型,从gcc4.1到8.2,或者clang或ICC。)
发布于 2013-04-19 00:28:09
您可以使用处理任意或较大精确值的库,例如GNU MP Bignum Library。
https://stackoverflow.com/questions/16088282
复制相似问题