C Int和Long 32-64位中的值的范围。
|
我对C中Int变量的值范围感到困惑。
我知道32位无符号整数的范围是:0到65,535。
这么久有0到4,294,967,295
这在32bits机器中很好。但是现在在64位计算机中,所有事物都保持不变吗?
也许我的int能力不同?
我将这个问题理解为新手,但我真的很困惑。
此方法签名也无济于事。 :)
unsigned long long int atomicAdd(unsigned long long int* address, unsigned long long int val);
没有找到相关结果
已邀请:
10 个回复
系漏
现在,在特定的实现上,您可以使用各种位范围。维基百科文章对此进行了很好的描述。
瞥同忙接
和
完全没有定义为任何特定大小。语言唯一保证的是
。 从理论上讲,编译器可以使
,
和
的位数相同。我知道有些人实际上为所有这些类型节省了7英镑。 这就是为什么C现在定义诸如
和
之类的类型的原因。如果需要特定大小,则应使用其中一种。
炉挤仙挟
s和
s的限制 至少16位,
至少32位,
否 大于
,不大于which4ѭ。 您可以使用
,其中包含十进制/浮点类型的限制的定义:
也许您可能需要在计算机上进行一些调整,但这是一个很好的模板,可以让您开始了解(实现定义的)最小和最大值。
缮记箔
作为unsigned long long int的范围。 进一步阅读:http://en.wikipedia.org/wiki/C_variable_types_and_declarations#Size
肉簧咸缮
目浆搽
取决于编译器和硬件体系结构 C语言的国际标准仅要求short变量的大小应小于或等于int类型的大小,而int类型的大小又应小于或等于long类型的大小。
倪蕊悲潍
锯康
文件,它将告诉系统特定限制。或检查
并转到“数值限制”部分。
亲奋漏
琶竞捆栓
。由于没有stdlibg,它需要很长时间