中易网

32位的long型和int型都占四个字节,那么它们的取值范围是否一样?

答案:6  悬赏:0  
解决时间 2021-01-17 16:30
  • 提问者网友:做自己de王妃
  • 2021-01-17 02:10
32位的long型和int型都占四个字节,那么它们的取值范围是否一样?
最佳答案
  • 二级知识专家网友:第幾種人
  • 2021-01-17 02:20
这个得看你用的是什么程序语言和什么编译器.

按你的叙述来说, 可能是C/C++在32位编译器下.

long的完整写法应该是 long int

long int和int在32位编译器下都是4字节,效果完全相同,取值范围也一样.

但在其他编译器上就可能不一样.

long int固定为32位, int根据编译器而变.
全部回答
  • 1楼网友:像个废品
  • 2021-01-17 06:07
一样,你可以通过定义一个数为long和int型 然后令他等于比较大到显示不了就可以测出来是一样的
  • 2楼网友:十鸦
  • 2021-01-17 05:22
只要所占字节一样长 取值范围肯定就是一样的 除非一个是有符号 一个是无符号
  • 3楼网友:野味小生
  • 2021-01-17 03:54
long类型与int类型的在都是占4个字节时,其取值范围一模一样
  • 4楼网友:妄饮晩冬酒
  • 2021-01-17 03:10
只要是32位,4个字节,那取值范围就是一样的,long和int的字节数是取决于编译器的,一般来说long是32位,int是16位。 可以在编译器里编写个小程序,输出long变量和int变量的最大值看看
  • 5楼网友:神也偏爱
  • 2021-01-17 02:34

32位,long,int都是四个字节,最大取值都是一样的。
我写了测试代码,用无符号型int和long分别存储-1。然后打印出来就是最大值。
#include 
int main()
{
    unsigned int intNum;
    unsigned long longNum;
    intNum=4294967295;
    longNum=4294967295;
    printf("sizeof(int)=%d,sizeof(long)=%d ",sizeof(intNum),sizeof(longNum));
    printf("uintMax=%u,ulongMax=%lu ",intNum,longNum);
    return 0;
}
long位数>=int。具体要看系统。
64位的Windows使用的是LLP64(long long and point 64)模型。参照下表:
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息