• 大端模式与小端模式


    什么是大端和小端

    Big-Endian和Little-Endian的定义如下:
    1) Little-Endian就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。
    2) Big-Endian就是高位字节排放在内存的低地址端,低位字节排放在内存的高地址端

    举一个例子,比如数字0x12 34 56 78在内存中的表示形式为:

    1)大端模式:

    低地址 -----------------> 高地址
    0x12  |  0x34  |  0x56  |  0x78

    2)小端模式:

    低地址 ------------------> 高地址
    0x78  |  0x56  |  0x34  |  0x12

    大端转小端16位

    1. #define BigtoLittle16(A)   (( ((uint16)(A) & 0xff00) >> 8)    |   
    2.                                        (( (uint16)(A) & 0x00ff) << 8))  

    大端转小端32位

    1. #define BigtoLittle32(A)   ((( (uint32)(A) & 0xff000000) >> 24) |   
    2.                                        (( (uint32)(A) & 0x00ff0000) >> 8)   |   
    3.                                        (( (uint32)(A) & 0x0000ff00) << 8)   |   
    4.                                        (( (uint32)(A) & 0x000000ff) << 24))  

    小端转大端 16位

    // 16位 将2个字节,转换成大端
    static short Little2Big(byte A, byte B) {
    return (short) (((short) (B) & 0x00ff) << 8 | ((short) (A) & 0x00ff));
    }

  • 相关阅读:
    思路决定出路
    php-异常处理机制
    Win10 IoT 10 中文显示乱码或报错的问题
    Win10 IoT 9 Windows IoT Core扩展开发包
    Win10 IoT 8 GPIO输入输出
    Win10 IoT 7 10586版本的异同
    Win10 IoT 6 设置系统时间
    Win10 IoT 5 修改IP地址
    Win10 IoT 4 远程启动计划任务
    Win10 IoT 3 部署应用
  • 原文地址:https://www.cnblogs.com/zhaoleigege/p/5482695.html
Copyright © 2020-2023  润新知