我对 C 中 Int 变量的值范围感到困惑。
我知道 32 位 unsigned int 的范围是:0 到 65,535。
那么只要有0到4,294,967,295
这在 32 位机器上没问题。但现在在 64 位机器中一切都保持不变吗?
或者也许我的 int 容量不同?
作为新手,我理解这个问题,但我真的很困惑。
这个方法签名也没有帮助。 :)
unsigned long long int atomicAdd(unsigned long long int* address, unsigned long long int val);
在 C 和 C++ 中,您有这些最低要求(即实际实现可以有更大的量级)
signed char: -2^07+1 to +2^07-1
short: -2^15+1 to +2^15-1
int: -2^15+1 to +2^15-1
long: -2^31+1 to +2^31-1
long long: -2^63+1 to +2^63-1
现在,在特定的实现中,您有多种位范围。这维基百科文章很好地描述了这一点。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)