4710|7

1

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于字节顺序--机器思维与人类思维之争 [复制链接]

本帖最后由 yaboona 于 2016-4-10 16:58 编辑

提起大小端字节顺序,就头疼,始终一本糊涂帐,今天,特地抽出一些时间,扒一扒,字节顺序到底是从哪来,为什么要分字节顺序?
首先,想想人类的思维方式习惯于怎么样?思考。。。先看见的先读呗,如:
1234   ---这个数是“一千两百三十四”

那么机器思维的方式是什么呢?---低位就存在低地址。如:

读出来就是0x 0403 0201  -----简称“4321”吧

我们更换一种表现形式:
0000 0000: 0102 0304 ... ...
0000 0010: ... ...
我们习惯于怎么读呢? 0x0102 0304----简称“1234”吧? 我去,我去,我去。。。,不是4321吗??

这就是机器思维(小端模式)和人类思维(视在模式--又称大端模式)的不同!

网络传输是大小端模式的一个应用,它采用的是“人类思维方式”:也就是先看见的先传输。如“1234”,就是先发送1,再发2,再发3,再发4-----这很明显,这是人的思维方式。在网络底层,编程肯定是希望从低地址开始发送的---也就是采用机器思维,所以,两者结合,对于“1234”,在网络中的存储是这样的:
0000 0000: 0102 0304 ... ...
0000 0010: ... ...
也就是,高位在低字节-----大端方式----得出结论:网络字节顺序,是大端方式。

再次总结:
  • 如果是按照人类的思维方式去传输、读取、应用数据,那么数据存储方式就要是“视在模式”,也就是大端模式。
  • 大小端模式都是存储格式的概念,无所谓人性不人性;只有应用层面,才有“视在”,“人类思维”。我们说“大端存储模式”是“视在”模式的含义是:要想应用层是用人类思维方式去思考,那么,推导出,存储是要用大端模式的,所以称大端模式为“视在模式”。

此帖出自ARM技术论坛

最新回复

具体是看机器的特性,像arm,是可以设置的,只是默认下,印象里是小端格式。  详情 回复 发表于 2016-6-9 00:42
点赞 关注
 

回复
举报

41

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
规则还不是人制定的嘛......
此帖出自ARM技术论坛
 
 
 

回复

30

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
LS说的有道理
此帖出自ARM技术论坛
 
 
 

回复

253

帖子

1

TA的资源

一粒金砂(高级)

4
 
字节序以前理解成了比特序,后来才知道                                                                              
此帖出自ARM技术论坛
 
 
 

回复

157

帖子

3

TA的资源

一粒金砂(中级)

5
 
大小端模式现在都有用吧,比如keil c51默认采用大端格式编译,但keil mdk默认是小端格式
此帖出自ARM技术论坛
 
个人签名千重雪  染蒹葭  谁  眉间砂  步步生莲花
 
 

回复

58

帖子

0

TA的资源

一粒金砂(初级)

6
 
有道理!!!
此帖出自ARM技术论坛
 
 
 

回复

7815

帖子

57

TA的资源

裸片初长成(中级)

7
 
没那么夸张吧。

另外,字节序是有的,就是大小端。
比特序,这个,还真没印象,是数字IC上出来的么?
此帖出自ARM技术论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

回复

7815

帖子

57

TA的资源

裸片初长成(中级)

8
 
apleilx 发表于 2016-4-12 22:25
大小端模式现在都有用吧,比如keil c51默认采用大端格式编译,但keil mdk默认是小端格式

具体是看机器的特性,像arm,是可以设置的,只是默认下,印象里是小端格式。
此帖出自ARM技术论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表