c中的long和long int有啥区别? [复制]

Posted

技术标签:

【中文标题】c中的long和long int有啥区别? [复制]【英文标题】:What is the difference between long and long int in c? [duplicate]c中的long和long int有什么区别? [复制] 【发布时间】:2022-01-21 02:01:04 【问题描述】:

我知道 integer 的范围是 -2147483648 到 2147483647,long 的范围是 -9223372036854775808 到 9223372036854775807 但是 long 的范围是多少int有吗?

【问题讨论】:

longlong int 是一回事。 int 是可选的。 这能回答你的问题吗? Long Vs. Int C/C++ - What's The Point? 当使用 signedunsignedlongshort 中的任何一个时,可以省略 intlonglong int 意思完全一样。 “我知道long的范围是-9223372036854775808到9223372036854775807”。仅当 long 为 64 位时。它可以是 32 位。 integer has a range of -2147483648 to 2147483647 and a long has the range of -9223372036854775808 to 9223372036854775807 C 和 C++ 标准没有为任何内置类型指定任何特定大小。唯一的要求是int 至少有 16 位,long 至少有 32 位:What does the C++ standard state the size of int, long type to be? 【参考方案1】:

我知道一个整数的范围是 -2147483648 到 2147483647

那你就知道错了。标准只说最小值,并且比那些(-32767、32767)低很多。

C 语言对最小和最大整数值有特殊定义。例如int 类型:INT_MIN & INT_MAX。它们在limits.h 头文件中定义。

您还可以使用sizeof 运算符检查您的类型的长度(在char 中)。如果你想知道有多少bits 它有:sizeof(type) * CHAR_BIT

c中long和long int有什么区别?

我们没有区别,因为int 可以省略。 unsigned (unsigned int)、short (short int) 和 long long (long long int) 也是如此。

【讨论】:

int 的限制是 [-32767, 32767],而不是 (-32768, 32767),因为 C 和更早的 C++ 允许补码和符号大小格式 @phuclv 确实。

以上是关于c中的long和long int有啥区别? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

在C#中long与int64有啥区别吗

在C#中long与int64有啥区别吗

int short long有啥区别?

计算机C语言中int和short还有long有啥区别,啥时候用int,啥时候用其他的?

Java中long和Long有啥区别

C语言中short与int有啥区别