我正在用C#编写一个堆栈类,其行为类似于x86堆栈(填充字符,能够推送和弹出不同大小的“对象”等)。
如果我致电Push<int>(0x01234567)
,下面的ASCII艺术描述了应该发生的事情。这是大端还是小端。
| 0x01 | 0x23 | 0x45 | 0x67 | ---- Low Address (New top)
| | | \----> 0x67
| | \-----------> 0x45
| \------------------> 0x23
\-------------------------> 0x01
---- High Address (Orig top)
答案 0 :(得分:1)
最低有效字节(0x67)位于最低地址,因此是小端。
答案 1 :(得分:1)
这些是int
值的单个字节,还是以块的形式显示int
十六进制表示的奇怪方式?因为在little-endian中,最低有效字节具有最低的存储器地址,即它首先出现在存储器中字节的原始十六进制视图中。但是,在堆栈中,第一个字节存储在最高地址中,然后是大端地址。