分类: C/C++
2008-03-25 21:39:08
大端(big endian)和小端(little endian)之争 大端,小端是字在内存中的存储方式,以下文字摘自一本优秀的计算机教材《深入理解计算机系统》(Computer Systems,A Programmer's Perspective)Jonathan Swift在1726年描述大,小端之争的历史: "...我下面要告诉你的是,Liliput和Blefuscu这两大强国在过去三十六个月里一直在苦战。战争开始是由于以下的原因:我们大家都认为,吃鸡蛋前,原始的方法是打破鸡蛋较大的一端,可是当今皇帝的祖父小时候吃鸡蛋,一次按古法打鸡蛋时碰巧将一个手指弄破了,因此他的父亲,当时的皇帝,就下了一道敕令,命令全体臣民吃鸡蛋时打破鸡蛋较小的一端,违令者者重罚。老百姓们对这项命令极为反感。历史告诉我们,由此曾发生过六次叛乱,其中一个皇帝送了命,另一个丢了王位。这些叛乱大多都是由Blefuscu的国王大臣们煽动起来的。叛乱平息后,流亡的人总是逃到那个帝国去寻求避难。据估计,先后几次有一万一千人情愿受死也不肯去打破鸡蛋较小的一端。关于这一争端,曾出版过几百本大部著作,不过大端派的书一直受禁,法律也规定该派的任何人不得做官。"(摘自蒋剑锋译的《格利佛游记》第一卷第4章)Swift是在讽刺英国(Lilliput)和法国(Blefuscu)之间的持续的冲突。Danny Cohen,一位网络协议的早期开创者,第一次使用这两个术语来指代字节顺序。 |
我原打算浪费口舌详细说说内存大小端模式的,百度了一下发现有好多人都写过了,在CU就有一篇:
举例说明 little endian 与 big endian
重用是软件工程的强调的重要思想,所以我把别人写的都收集起来
有人在百度空间为这个问题写了三篇文章,不过到第三篇才切入正题,前面两篇是铺垫,写的是内存的基础知识:
big endian与little endian (1)
big endian与little endian (2)
big endian与little endian (3)
--------------今天的《CS八卦旧闻》到此结束,谢谢收看----------