11
|
Georg Schölly Crazy Developer · 技术社区 · 15 年前 |
![]() |
1
18
小端性的好处是,可以使用相同的地址将变量读取为任意长度。 例如,32位变量可以在不更改地址的情况下读取为8位或16位变量。如今,这可能带来的好处有限,但在汇编程序和内存有限的时代,这可能是一个显著的优势 |
![]() |
2
3
big和little endian共存的原因是不同的CPU制造商使用不同的约定来表示多字节数据,并且当时没有出现标准。 |
![]() |
3
1
使用CPU的endianness(无论大小)在算术上给您带来了速度优势:您可以直接在内存中添加、减去等多字节整数。 在文件格式中使用预定义的、规定的endianness(无论大小)使您能够在任何系统上读取文件,而不管其他系统的CPU的endianness如何。具有正确端号的系统可以更快地读取文件(如果正确地编写和优化了读取例程),但即使是具有错误端号的系统也可以读取文件。通常,速度差是可忽略的(除了包含大量整数的非常大的文件),因此最好首先测量优化读取例程的最大可能速度增益。 某些文件格式(例如TIFF)支持两种端点。在这种情况下,最好使用CPU的endianness生成文件,假设文件将在同一台机器或类似机器上进行后处理。 |
![]() |
4
0
在little endian中,您无需更改地址,但在big endian中,您必须: http://www.noveltheory.com/techpapers/endian.asp 实际上,我不知道在现代CPU中,小端是否比大端有优势。我天真地认为切换地址会消耗CPU微微瓦特的能量:) |
![]() |
5
0
|
![]() |
Nils · 二进制文件中快速反转float32端的方法 7 年前 |
![]() |
rubyquartz · 交换无符号短整数的字节 7 年前 |
![]() |
Lefteris · 将二进制数据读取到long int 7 年前 |
![]() |
smokums · 小端点编码Go lang 7 年前 |
|
user3003999 · 字节顺序错误代码是如何工作的? 7 年前 |
![]() |
memeKing · Python-数据包处理和修改 7 年前 |
![]() |
Juan González · 火星MIPS模拟器是大端还是小端 7 年前 |