zoukankan      html  css  js  c++  java
  • 【C语言】32位,64位机器sizeof区别

    float, double : 采用IEEE标准浮点数格式,格式固定 float 32bit, double 64bit

    int一般和CPU寄存器长度有关,不过也和编译器,汇编器有关

    由于C ,C++ 标准没有规定整数类型的固定长度。
    同一CPU不同操作系统和编译器,对于int 类型规定的长度是不同的
    于是为了区别这些不同,出现了数据模型这种东西。
    数据模型(LP32 ILP32 LP64 LLP64 ILP64 )
    TYPE               LP32  ILP32  LP64  ILP64  LLP64
    char                 8         8          8         8         8
    short               16       16        16       16       16
    int                  16       32        32        64      32
    long                32       32        64       64       32
    long long         64       64        64       64       64
    pointer            32       32        64       64       64  

      

    模型的名字就表明了相应数据类型的位数。LP32就表示long 和 pointer 是32位的其他的类推。

     windows下采用的是LLP64, Unix系列的采用的是LP64

    注意:char, short, long long在所有模型下的大小都相同

    指针在32位下为32bit, 在64位下为64bit

    来自:http://bbs.csdn.net/topics/390848520

  • 相关阅读:
    tyvj P3737 逐个击破
    最小生成树 kruskal
    最小生成树 prim
    code2039 骑马修栏杆
    前端优化
    数组1
    数组
    序列化对象
    解决iphone横屏时字体变大问题或者内容大小不一样等...
    Media Queries详解
  • 原文地址:https://www.cnblogs.com/dplearning/p/4722418.html
Copyright © 2011-2022 走看看