计算机存储——大小端模式
嵌入式开发中多设备协同时,数据传输常常涉及一个概念,大端模式传输或小端模式传输。
大小端模式仅针对多字节数据传输时有效。例如:short类型(2字节)数据,int(4字节数据)。
多字节传输数据时,由于多个字节表示一个数据,就涉及了这个数据究竟是从前到后排列(低地址到高地址),还是从后到前排列(高地址到低地址)才是对端设备发出的数据呢?
数据表示与高低位的区别
人们常常表述多字节数据时,以10进制或16进制来表示一个数据的值。例:0x12345678(H)= 305419896(D)。
对于数值表述:0x12345678遵从从右到左的规则,右侧认为是低位,或低字节,左侧认为高位或高字节。其二进制表示为:0001 0010 0011 0100 0101 0110 0111 1000(B)。
对于内存而言,遵从从左到右的规则:以数组为例:
unsigned char Arry[4]