网络编程之大小端

5 篇文章 0 订阅
2 篇文章 0 订阅

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值