zoukankan      html  css  js  c++  java
  • 对字节大端对齐和小端对齐的理解

             做音频视频处理的过程中,经常看到文档中写着LITTLE ENDIAN或者BIG ENDIAN unsigned integer的文字,其实就是告诉我们用大端或者小端方式处理字节数,例如文件的某一处的16进制数为FF 10 00 00,如果按照

             大端模式:数据的低位保存在内存的高地址中,而数据的高位保存在内存的低地址中,这种存储模式就类似把数据当做字符串顺序处理,例如:数据中两个字节按顺序为:FE 10 ,它表示的一个数就是0xFE10。

             换句话说:内存的低地址存放着数据高位;

            小端模式:数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中,这种存储方式就是将地址的高低和数据的位结合起来,前面的例子按照小端模式表示,应该为:0x10FE。

            换句话说:内存的低地址存放着数据低位。

    例如 char p[2];,它用大端模式表示一个数的计算方式为:

    unsigned int  result =p[0];
    result =(result <<8)|p[1];

    用小端模式表示一个数的计算方式为:

    unsigned int  result =p[0];
    result =(p[1]<<8)|result;

              我在用的过程中理解后,总结出来我的认识。

  • 相关阅读:
    计算机组成原理1.1.1 课程简介
    【Mybatis】配置文件加载属性
    【Maven】项目中没有resources目录
    C语言指针(三)指针传递给函数
    C语言指针(二)指向指针的指针
    C语言指针(一)
    cygwin环境c语言开发
    【Centos7】安装nginx
    【Linux】管理在线用户
    【总结】偏序/数点
  • 原文地址:https://www.cnblogs.com/candycaicai/p/1912986.html
Copyright © 2011-2022 走看看