理解字节序

来源:互联网 发布:qq旋风网络链接错误 编辑:程序博客网 时间:2024/06/03 19:15
1、什么是字节序
举个例子: uint32_t value = 0x44332211;
           buf[4] = {0};
           memcpy(buf,&value,sizeof(uint32));
那么 ,buf中的值是什么?

在小端序列的主机中,buf[0] = 0x11,  buf[1] = 0x22, buf[2] = 0x33, buf[3] = 0x44
小端序列比较符合思维,地位放在低地址,高位放在高地址

在大端序列的主机中,buf[0] = 0x44,buf[1] = 0x33, buf[2] = 0x22, buf[3] = 0x11
大端序列 比较符合直观,人类一般是高位先写(低地址),地位后写(高地址)。

2、为什么会有两种字节序?
可能有些人主张思维优先(小端序列)、有人主张直观优先(大端序列),就好比争论鸡蛋应该是从小端敲还是大端敲。
还有一种解释是,计算机电路先处理低位字节,效率比较高,因为计算都是从低位开始的。所以,计算机的内部处理都是小端字节序。但是,人类还是习惯读写大端字节序。所以,除了计算机的内部处理,其他的场合几乎都是大端字节序,比如网络传输和文件储存。
一般PC主机都是小端序,所以小端序也称为主机序; 大端序也称为网络序

3、什么时候需要注意字节序
传输字节流的时候需要注意字节序。因为不同主机的字节序有可能不一样,需要在传输的时候约定好。
传输的一方,都要把数值字节流从本机序转换成网络序
接收的一方,都要把数值字节流从网络序转换成本机序

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 笔记本用户名密码忘记了怎么办 笔记本忘记用户名和密码怎么办 苹果手机忘记用户名和密码怎么办 w10电脑忘了密码怎么办 联想台式电脑密码忘记了怎么办 新电脑用一会就很烫怎么办 电脑忘了密码怎么办啊 戴尔笔记本账户密码忘记了怎么办 华硕台式电脑开不了机怎么办 手机号申请qq账号上限了怎么办 店铺不干了被告商标侵权怎么办 咸鱼违规被投诉侵犯商标权怎么办 房子买了70年后怎么办 买房付完首付后怎么办 手机b站忘记密码怎么办 护士电子注册没有激活码怎么办 大王卡变3g网是怎么办 无法解析服务器的dns地址怎么办 笔记本dns辅服务器未响应怎么办 原营业执照注销法人没在怎么办? 加盟骗局公安局工商局不管怎么办 发现老婆衣柜里有避孕套怎么办 2岁宝宝爱舔东西怎么办 痔疮手术后痛疼怎么办 长了内痔疮该怎么办 淘宝卖家遇到恶意买家怎么办 淘宝遇到恶意买家拍单怎么办 淘宝遇到买家恶意搞坏商品怎么办 木油味道很重怎么办 床垫外面布坏了怎么办 淘宝店铺动态评分低怎么办 实创倒闭返款怎么办 qq红包忘记支付密码怎么办 qq红包支付密码忘了怎么办 个人卖东西人家要发票怎么办 打了欠条找不到人怎么办 公章掉进水里了怎么办 手游吃鸡限制登入15分钟怎么办 宝宝的小鸡淹了怎么办 宝宝小鸡底下淹了怎么办 4岁宝宝拉稀水怎么办