从阿拉伯数字看大端小端字节序

理解大端和小端(big-endian & little endian)这两类字节序,有个新解释。数字的表示,或者扩大到信息的表示,其目标不外乎两类,描述和操作:

  • 描述:不需要改变原始信息,是一个从粗到细的逐步细化的理解过程;
  • 操作:可能改变原始信息,操作过程需要从细微处逐步积累对整体的影响。

一个最最简单的例子就是我们读写阿拉伯数字,都是大数位在前,小数位在后,这属于大端情形,但在进行竖式计算(加减乘)时,却是右对齐,先考虑小数位,再逐步扩展至大数位。

描述一个数字,从大到小的数位顺序可以让人逐步细化理解,比如房价 31450/平方,当读出 3w 时,人心里自然会有一个感性的认知和心理预期,这房子要 3w 多,然后听到 1k 后会觉得并不比 3w 多多少,毕竟 3w9k 也是 3w 多,比 3w1k 多多了,后面的就属精打细算了,能不能不抹零换个 iPhone 的事。反过来,如果先说 50 块,购房者得不到任何有意义信息,即使他听到 3w 时他也不知道后面会不会还有数字,所以这种从小数位到大数位的计数法需要一个休止符,很麻烦。

但计算就不一样,1x + 3y 中的 x,y 是 0 还是 9 对结果影响非常大,40 和 58 的区别,而 1 和 3 在没有计算得到最终结果前,只能估摸一个近乎同等数量级非常粗糙的范围。

除法为什么特殊?因为除法并不影响整体结果,换句话说,除法的商只是人们心中的一个抽象,它只是一个切割方法,并不自然存在。

除了数字,其它信息也一样,比如我们看到英文 pro-,for- 前缀,或看到中文 “提手旁”,“单人旁”,大概就知道后面这个词的描述范围,后面那些东西都是在逐步细化。

这么理解计算机领域的大端和小端就很容易了。

不可否认存在一些偶然随机因素导致早期的计算机都倾向于大端字节序,随之的网络传输也继承了它,但大端字节序确实符合人的习惯,就像我们手写数字一样。但对于计算,小端字节序或许更加适合,正如我们做竖式乘法时右对齐一样。

和早期简单通信,集中计算模式不同,PC 时代过多的本地渲染需要更频繁的散装运算,计算机技术迅猛发展的兼容性需求引发更频繁的强制类型转换,小端机 “恰好” 做这些更加高效。但即便大端机全被淘汰,考虑到兼容性,网络大端字节序已经成了事实标准。

不管怎样,在整个计算机网络领域,描述性字节序和操作性字节序算是各归其位了,网络协议是纯描述性的,而端主机计算则属于操作性,它们的字节序表示都适合自己的语义,加一道转换也不多。

浙江温州皮鞋湿,下雨进水不会胖。

基于JavaWeb的学生信息管理系统课程设计源码+数据库+文档报告(99分项目),个人经导师指导并认可通过的高分设计项目,评审分98分,项目中的源码都是经过本地编译过可运行的,都经过严格调试,确保可以运行!主要针对计算机相关专业的正在做大作业、毕业设计的学生和需要项目实战练习的学习者,资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用需求,如果有需要的话可以放心下载使用。 基于JavaWeb的学生信息管理系统课程设计源码+数据库+文档报告(99分项目)基于JavaWeb的学生信息管理系统课程设计源码+数据库+文档报告(99分项目)基于JavaWeb的学生信息管理系统课程设计源码+数据库+文档报告(99分项目)基于JavaWeb的学生信息管理系统课程设计源码+数据库+文档报告(99分项目)基于JavaWeb的学生信息管理系统课程设计源码+数据库+文档报告(99分项目)基于JavaWeb的学生信息管理系统课程设计源码+数据库+文档报告(99分项目)基于JavaWeb的学生信息管理系统课程设计源码+数据库+文档报告(99分项目)基于JavaWeb的学生信息管理系统课程设计源码+数据库+文档报告(99分项目)基于JavaWeb的学生信息管理系统课程设计源码+数据库+文档报告(99分项目)基于JavaWeb的学生信息管理系统课程设计源码+数据库+文档报告(99分项目)基于JavaWeb的学生信息管理系统课程设计源码+数据库+文档报告(99分项目)基于JavaWeb的学生信息管理系统课程设计源码+数据库+文档报告(99分项目)基于JavaWeb的学生信息管理系统课程设计源码+数据库+文档报告(99分项目)基于JavaWeb的学生信息管理系统课程设计源码+数据库+文档报告(99分项目)基于JavaWeb的学生信息管理系统课程设计源码+数据库+文档报告(99分项目)基
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值