繁体   English   中英

在32位C ++中,如何打印大于2 ^ 32的数字?

[英]How to print numbers bigger than 2^32 in 32-bit C++?

我正在编写一个生成大素数的程序。 大于2 ^ 32。 如何在32位C ++中生成如此大的数字? 我在32位处理器上使用Windows 7。 我知道我可以得到64位支持,购买一台新的64位计算机,但这不是当前的选择。

使用long long或包含stdint.hcstdint并使用int64_tuint64_t 除此之外,您还可以在以下网址引用Windows数据类型: http://msdn.microsoft.com/zh-cn/library/windows/desktop/aa383751%28v=vs.85%29.aspx

在此列表中,您可以使用DWORDLONGDWORD64INT64

打印该号码,请将%lld与printf一起使用:

long long variable;
printf( "your long long variable: %lld", variable ); 

使用long long ,至少是64位,并且在32位计算机中也可用。

还有一个GMP库,用于大于2 ^ 64的任意大小的有符号整数。 C ++接口通过运算符重载使变量的行为像普通int一样。

暂无
暂无

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

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