Big-endian和Little-endian

来源:互联网 发布:68淘宝小号 编辑:程序博客网 时间:2024/05/16 09:16

Big-endian和Little-endian

flyfish 2015-7-25

引用自《深入理解计算机系统》的说法
最高有效字节在最前面的方式,称为大端法(big endian)
最低有效字节在最前面的方式,称为小端法(little endian)

引用自《Computer Systems A Programmer’s Perspective》的说法
where the most significant byte comes first—is referred to as big endian.
where the least significant byte comes first—is referred to as little endian.

引用自wiki的说法
Big-endian systems store the most-significant byte of a word at the smallest memory address and the least significant byte at the largest.
A little-endian system, in contrast, stores the least-significant byte at the smallest address.

“端”(endian)的起源(Aside Origin of “endian”)

以下是Jonathan Swift在1726年关于大小端之争历史的描述:

我下面要告诉你的是,Lilliput和Blefuscu这两大强国在过去36个月里一直在苦战。战争开始是由于以下的原因:我们大家都认为,吃鸡蛋前,原始的方法是打破鸡蛋较大的一端,可是当今皇帝的祖父小时候吃鸡蛋,一次按古法打鸡蛋时碰巧将一个手指弄破了,因此他的父亲,当时的皇帝,就下了一道敕令,命令全体臣民吃鸡蛋时打破鸡蛋较小的一端,违令者重罚。老百姓们对这项命令极为反感。历史告诉我们,由此曾发生过6次叛乱,其中一个皇帝送了命,另一个丢了王位。这些叛乱大多都是Blefuscu的国王大臣们煽动起来的。叛乱平息后,流亡的人总是逃到那个帝国去寻救避难。据估计,先后几次有11
000人情愿受死也不肯去打破鸡蛋较小的一端。关于这一争端,曾出版过几百本大部著作,不过大端派的书一直是受禁的,法律也规定该派的任何人不得做官。”(此段译文摘自网上蒋剑锋译的《格列佛游记》第一卷第4章。)

在他那个时代,Swift是在讽刺英国(Lilliput)和法国(Blefuscu)之间持续的冲突。Danny
Cohen,一位网络协议的早期开创者,第一次使用这两个术语来指代字节顺序[25],后来这个术语被广泛接纳了。

一个32位的整数0x12345678 Big-endian和Little-endian的表示
这里写图片描述

0 0
原创粉丝点击