黑马程序员技术交流社区

标题: 字节数 [打印本页]

作者: 王海江1    时间: 2014-6-6 17:08
标题: 字节数
本帖最后由 王海江1 于 2014-6-13 22:25 编辑

float占4个字节。
long int在16位编译器和32位编译器里占4个字节;在64位编译器里占8个字节。
对吧??
  
可我看到一道题是这样的:char<int<1ong int<=float<double。。。解释是这样说的:----char 占一个字节   ---int 占两个字节   ----long int  占两个或四个字节 ----double 占八个字节    ----float占四个字节     



是我错了还是题错了?????
作者: icefire1214    时间: 2014-6-7 14:27
64位编译器中,long int 是8字节。在32位编译器中,long int 是4字节。
那个题中所说的都是在32位编译器中。

作者: 王海江1    时间: 2014-6-7 21:34
icefire1214 发表于 2014-6-7 14:27
64位编译器中,long int 是8字节。在32位编译器中,long int 是4字节。
那个题中所说的都是在32位编译器中 ...

默认情况都是32位编译器吗???如果遇到判断题,那个答案算对还是算错
作者: chain    时间: 2014-6-7 22:11
long int 所占字节不小于 int
作者: icefire1214    时间: 2014-6-8 20:29
王海江1 发表于 2014-6-7 21:34
默认情况都是32位编译器吗???如果遇到判断题,那个答案算对还是算错

搜索到的:

常用数据类型对应字节数
      可用如sizeof(char),sizeof(char*)等得出
      32位编译器:
      char :1个字节
      char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器)
      short int : 2个字节
      int:  4个字节
      unsigned int : 4个字节
      float:  4个字节
      double:   8个字节
      long:   4个字节
      long long:  8个字节
      unsigned long:  4个字节
      64位编译器:
      char :1个字节
      char*(即指针变量): 8个字节
      short int : 2个字节
      int:  4个字节
      unsigned int : 4个字节
      float:  4个字节
      double:   8个字节
      long:   8个字节
      long long:  8个字节
      unsigned long:  8个字节


两种编译器中情况不一样,我想如果有这样的判断题,它会给出编译器类型的吧




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2