我有一个非常基本的问题,我无法找到具体的答案
默认情况下,C 中 int、short、long 的大小是多少?当我说 int a 时,它是默认签名的吗?
同样的无符号值的大小是多少。即无符号整数,无符号短等?
我正在使用 mac os x 和 xcode 来编译/运行。我尝试执行 sizeof (int),它为“int”和“unsigned int”返回 4 个字节。有符号和无符号的大小有什么区别?
我有一个非常基本的问题,我无法找到具体的答案
默认情况下,C 中 int、short、long 的大小是多少?当我说 int a 时,它是默认签名的吗?
同样的无符号值的大小是多少。即无符号整数,无符号短等?
我正在使用 mac os x 和 xcode 来编译/运行。我尝试执行 sizeof (int),它为“int”和“unsigned int”返回 4 个字节。有符号和无符号的大小有什么区别?
它始终取决于平台和实现。有时某些类型在一个实现上的大小相同,而在另一个实现上则不同。欢迎来到精心开发的第一步。
有符号和无符号值具有相同的大小。在有符号形式中,最高有效位是符号,而在无符号形式中,额外的位允许类型保存更大的值。例如,32 位的有符号类型可以保存 -(2^31) 到 2^31 - 1 的值,32 位的无符号类型可以保存 0 到 2^32 - 1 的值。
每种类型的大小取决于系统。如果您需要一个具有特定大小的变量,您可以使用stdint.h中的类型,例如 int32_t 将始终具有 32 位。
有符号整数和无符号整数大小相同。高位是符号位。
int 默认是有符号的。
shorts 通常是 2 个字节,int 通常是 4。longs 通常是 4 或 8。所有这些都取决于平台,您应该使用 sizeof() 来发现它们。