一生为你画眉 发表于 2014-2-23 19:46:01

谁能告诉我介个是什么意思!

C语言刚刚开始学,有好多地方疑惑,小甲鱼的视频反复听了好多遍,很多疑惑都解决了!不过还有不明白的,求教!
int,long在内存中所占的字节都是4个字节,为什么long的精度要高于int呢?在计算的是int要转化成long!
int和long有什么区别呢!

oggplay 发表于 2014-2-23 20:11:48

本帖最后由 oggplay 于 2014-2-23 20:34 编辑

16位系统:long是4字节,int是2字节
32位系统:long是4字节,int是4字节
64位系统:long是4字节,int是4字节
C语言标准是这样规定的:int最少16位(2字节),long不能比int短,short不能比int长,具体位长由编译器开发商根据各种情况自己决定。在32位x86处理器上,short、int、long普遍的长度是2字节、4字节、4字节。当然如果编译器开发商愿意,long完全可以是8字节。比如我机器编译器是这样规定的:long long int ,long long数据类型都是64位的

一生为你画眉 发表于 2014-2-23 21:16:51

oggplay 发表于 2014-2-23 20:11 static/image/common/back.gif
16位系统:long是4字节,int是2字节
32位系统:long是4字节,int是4字节
64位系统:long是4字节,int是4字 ...

哦,原来是这么个意思啊,谢谢了。

machimilk 发表于 2014-2-23 21:38:42

要知道占多少字节很简单 用sizeof(int)或sizeof(long)看看到底返回值是多少

未闻丶花名 发表于 2014-2-25 21:54:59

路过看看= =!
页: [1]
查看完整版本: 谁能告诉我介个是什么意思!