[英]How to print numbers bigger than 2^32 in 32-bit C++?
我正在编写一个生成大素数的程序。 大于2 ^ 32。 如何在32位C ++中生成如此大的数字? 我在32位处理器上使用Windows 7。 我知道我可以得到64位支持,购买一台新的64位计算机,但这不是当前的选择。
使用long long
或包含stdint.h
或cstdint
并使用int64_t
和uint64_t
。 除此之外,您还可以在以下网址引用Windows数据类型: http://msdn.microsoft.com/zh-cn/library/windows/desktop/aa383751%28v=vs.85%29.aspx
在此列表中,您可以使用DWORDLONG
, DWORD64
或INT64
。
要打印该号码,请将%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.