1.概念
在计算机的数据存储中,有2种的存储方式,就是大小端,大端指的是高位数据存储在低位的地址,低位数据放高位,小端则相反,我们了解清这一点很重要,因为要保证数据的一致性,发送端和接收端就应该协商好用哪种存储方式来发送和接收。
2.如何看
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
union{
short a;
char b[sizeof(short)];
}t;
t.a = 0x0102;
cout<<(int)t.b[0]<<' '<<(int)t.b[1]<<endl;
return 0;
}
我们都知道,数据在计算机中是以十六进制来存储的,所以0x01就是代表一Byte,union我们都知道,在同一时刻当且仅当有一个变量是有效的,所以当t.b[0](低位)放的是1(高位)时,那计算机就是高位存储,反之则是小端。
3.一些思考
为什么字符串在存储的过程中不用考虑大小端问题?
首先字符串其实也是数组,前后顺序是固定的,而它基本单位其实是char,char只有一个字节,那还有什么高低位。。。。