2个8bit合并成1个16字节
首先需要明确,你是想将这2个8bit是大端储存成1个16bith,还是小端存储。
大端模式(Big Endian):数据的高字节,保存在内存的低地址中;数据的低字节,保存在内存的高地址中。
小端模式(Little Endian):数据的高字节,保存在内存的高地址中;数据的低字节,保存在内存的低地址中。
相同点:都是从低地址项高地址上写。
不同点:小端模式是从高地址往低地址方向读;大端模式是从低地址往高地址方向读。
小端模式的读与写是相反的。大端模式的读与写是相同的。
#include <stdio.h>
//小端储存
typedef struct
{
int byte1:8;
int byte2:8;
}bit8_bi16;
typedef union
{
int bit16;
bit8_bi16 data;
}merge;
int main()
{
int a = 0xAB;
int b =