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

    一.理解大端存储和小端存储的概念

    1).大端存储:大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放。

    2).小端存储:小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低,和我们的逻辑方法一致。

    如果将一个32位的整数0x12345678存放到一个整型变量(int)中,这个整型变量采用大端或者小端模式在内存中的存储由下表所示。

    为简单起见,本文使用OP0表示一个32位数据的最高字节MSB(Most Significant Byte),使用OP3表示一个32位数据最低字节LSB(Least Significant Byte)。  

    小端:较高的有效字节存放在较高的存储器地址,较低的有效字节存放在较低的存储器地址。
    大端:较高的有效字节存放在较低的存储器地址,较低的有效字节存放在较高的存储器地址。


    代码测试

     1 #include <stdio.h>
     2 
     3 void BigLittleEndian()
     4 {
     5    int i  = 1;
     6    char *p = (char *)(&i);
     7    if( *p == 1)
     8     printf("LittleEndian");
     9    else
    10     printf("BigEndian");
    11 }
    12 
    13 void main()
    14 {
    15     BigLittleEndian();
    16 }
  • 相关阅读:
    OkHttp3Stack volley
    Badge分析
    Android Icon数字角标(BadgeNumber)的实现方式
    Android ORMLite 框架的入门用法
    实现FlowLayout 自动排序标签
    iptables端口转发配置[Ubuntu]
    编译csipsimple的native部分
    开发JavaScript组件
    jQuery组件开发
    Groovy小结:java调用Groovy方法并传递参数
  • 原文地址:https://www.cnblogs.com/wood2012/p/8540169.html
Copyright © 2011-2022 走看看