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有吗?
【问题讨论】:
long
和 long int
是一回事。 int
是可选的。
这能回答你的问题吗? Long Vs. Int C/C++ - What's The Point?
当使用 signed
、unsigned
、long
或 short
中的任何一个时,可以省略 int
。 long
和 long 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有啥区别? [复制]的主要内容,如果未能解决你的问题,请参考以下文章