zoukankan      html  css  js  c++  java
  • 大端小端及检测方法

    1.大端

      一个数的最高有效位排在地址值小的地址上,最低有效位排在地址值大的地址上

    2.小端

      一个数的最低有效位排在地址值小的地址上,最高有效位排在地址值大的地址上

    一个32位int数的十六进制值为0x01234567(最高有效位——最低有效位),位于地址0x100~0x103(每个地址单元一般容量为1字节):

    3.常见的大端小端应用场景

    1)常用的X86结构的主机使用小端法

    2)TCP/IP协议栈使用大端法

    4.大端小端的检测方法

    1)单独取出变量的低8位地址来验证

    int main()
    {
        int i = 1;
        char c = *((char*)&i);//取i的地址的低8位的所存储的值赋给c
    
        if (c==1)
            printf("小端
    ");
        else
            printf("大端
    ");
    
        return 0;
    }

    2)利用联合体几个不同的变量共占用一段内存的性质

    union UN
    {
        char c;
        int i;
    };
    
    int main()
    {
        UN un;
        un.i = 1;
        
        if (un.c==1)
            printf("小端
    ");
        else
            printf("大端
    ");
    
        return 0;
    }
  • 相关阅读:
    22 有序化模块
    21模块
    Day20 继承
    Day19 约束
    面向对象 成员
    面向对象01
    内置函数、匿名函数、递归、二分法
    生成器函数 推导式
    Unity3D 实现方块跑酷
    day30-2018-12-3-进程
  • 原文地址:https://www.cnblogs.com/Joezzz/p/9796423.html
Copyright © 2011-2022 走看看