zoukankan      html  css  js  c++  java
  • [转]关于int整形变量占有字节问题

    int的长度由处理器(16位,32位,64位)和比哪一期决定。

    首先从处理器来讲 :16位处理器中的int 占有16位 即2个字节

                            32位处理器中int占有32位 即4个字节

                            64位处理器中int占有64位 即8个字节

    附录:

    数据类型特别是int相关的类型在不同位数机器的平台下长度不同。C99标准并不规定具体数据类型的长度大小,只规定级别。作下比较:

    16位平台

    char         1个字节8位

    short        2个字节16位

    int            2个字节16位

    long         4个字节32位

    指针         2个字节

    32位平台

    char         1个字节8位

    short        2个字节16位

    int            4个字节32位

    long         4个字节

    long long 8个字节

    指针         4个字节

    64位平台

    char         1个字节

    short        2个字节

    int            4个字节

    long         8个字节(区别)

    long long 8个字节

    指针        8个字节(区别)

     

     

     

      数据模型

    (LP32 ILP32 LP64 LLP64 ILP64 )

    32位环境涉及"ILP32"数据模型,是因为C数据类型为32位的int、long、指针。而64位环境使用不同的数据模型,此时的long和指针已为64位,故称作"LP64"数据模型。

    现今所有64位的类Unix平台均使用LP64数据模型,而64位Windows使用LLP64数据模型,除了指针是64位,其他基本类型都没有变。(注释:相对于windows32操作系统来说 只有指针改编成64位,int long 都还仍然是32位)

    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  

  • 相关阅读:
    使用C#替换Word文档里的文字和图片
    《程序员的思维修炼—开发认知潜能的九堂课》—从新手到专家的历程
    从已有数据库表生成Insert语句的小工具
    我的2010
    Sqlite批量插入速度慢的解决方法小计
    分享一个winForm下的Chart控件
    分享一个任务提醒小工具
    SpringBoot+Vue+Echarts实现选择时间范围内数据加载显示柱状图
    Winform中选取指定文件夹并获取其下所有文件
    Vue中JS遍历后台JAVA返回的Map数据,构造对象数组数据格式
  • 原文地址:https://www.cnblogs.com/jiayouwyhit/p/3149282.html
Copyright © 2011-2022 走看看