网络编程之大小端

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只有一个字节,那还有什么高低位。。。。

发布了133 篇原创文章 · 获赞 8 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/fbher/article/details/102310938