zoukankan      html  css  js  c++  java
  • 大端存储与小端存储

    参考博客:http://blog.csdn.net/fy_lei/article/details/49813137

    小端存储:数据的低字节存储在低地址上。

    小端存储示意
    内存地址 存储数据
    0x00000000 0x78
    0x00000001 0x56
    0x00000002 0x34
    0x00000003 0x12

    大端存储:数据的低字节存储在高地址上。

    大端存储示意
    内存地址 存储数据
    0x00000000 0x12
    0x00000001 0x34
    0x00000002 0x56
    0x00000003 0x78

     

           、

    对于这两种存储方式,如果联系下我们常用  “异或”  操作,就能得到一个很好的记忆规则。总结来说就是:

        (1)低地址存储低字节即为小端存储;高地址存储高字节即为小端存储;

         (2)低地址存储高字节即为大端存储;高地址存储低字节即为大端存储;

    对于一个32位的机器,一个字节为8位,字是最小的存储单位是字节,32位对应有4个字节。

     如果对一个32位的数据,要求从大端存储转换为小端存储的代码为:

    uint32_t swap_endian(uint32_t val) {
        val = ((val << 8) & 0xFF00FF00) | ((val >> 8) & 0xFF00FF);
        return (val << 16) | (val >> 16);
    }
  • 相关阅读:
    jQuery 选择器
    pf_ring 编译移植
    Android wifi 扫描机制
    wifi 万能钥匙协议
    linux下CJson使用
    libxml -- 解析 XML 文档
    关闭浏览器复制行为
    Ubuntu 语言设置
    Socket编程之非阻塞connect
    Java多维数组
  • 原文地址:https://www.cnblogs.com/yamin/p/8596936.html
Copyright © 2011-2022 走看看