zoukankan      html  css  js  c++  java
  • 转 32位64位操作系统基本数据类型字节大小

     
    int型字长问题:
    ① C/C++规定int字长和机器字长相同;
    ② 操作系统字长和机器字长未必一致;
    ③ 编译器根据操作系统字长来定义int字长;
      由上面三点可知,在一些没有操作系统的嵌入式计算机系统上,int的长度与处理器字长一致;有操作
    系统时,操作系统的字长与处理器的字长不一定一致,此时编译器根据操作系统的字长来定义int字长:"
    比如你在64位机器上运行DOS16系统,那么所有for dos16的C/C++编译器中int都是16位的;在64位机器上
    运行win32系统,那么所有for win32的C/C++编译器中int都是32位的"
    常见基本类型的字节大小
    32位操作系统
    char :1个字节(固定)
    *(即指针变量): 4个字节(32位机的寻址空间是4个字节。同理64位编译器)(变化*)
    short int : 2个字节(固定)
    int: 4个字节(固定)
    unsigned int : 4个字节(固定)
    float: 4个字节(固定)
    double: 8个字节(固定)
    long: 4个字节
    unsigned long: 4个字节(变化*,其实就是寻址控件的地址长度数值)
    long long: 8个字节(固定)
     
    64位操作系统
    char :1个字节(固定)
    *(即指针变量): 8个字节
    short int : 2个字节(固定)
    int: 4个字节(固定)
    unsigned int : 4个字节(固定)
    float: 4个字节(固定)
    double: 8个字节(固定)
    long: 8个字节
    unsigned long: 8个字节(变化*其实就是寻址控件的地址长度数值)
    long long: 8个字节(固定)
     
    除了*与long随操作系统子长变化而变化外,其他的都固定不变(32位和64相比)
    bool 1个字节  char 1个字节      int 4个字节   float 4个字节       doubl 8个字节   long long 8个字节
  • 相关阅读:
    重构代码
    我的菜单在母版页,如何更改菜单点击后的效果
    ASP.NET网页显示LED字体
    点击一次铵钮产生一个新文本框,分别输入值,然后获取
    linux不同信号之间发送信号测试
    UCOSII移植ARM的笔记
    C语言 return返回值的作用
    C语言 return没有返回值.
    linux c语言链表的简单应用之创建链表
    sizeof与strlen的用法
  • 原文地址:https://www.cnblogs.com/njczy2010/p/5793456.html
Copyright © 2011-2022 走看看