能力值:
( LV6,RANK:90 )
|
-
-
2 楼
在内存中应该是
(假如) 00400080 | 50 45 | P E,也就是说00400080=‘P’, 00400081='E'
但是如果word的str=00400080的话,因为大小端 那么取给str的值为 0x4550,自然这个时候比较就需要反过来。
说了半天发现好像说的还是不清楚。建议用工具在内存中看,然后写汇编打印下。
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
谁能再给解释一下啊,不能沉了啊
|
能力值:
( LV4,RANK:50 )
|
-
-
4 楼
little endian和big endian是表示计算机字节顺序的两种格式
little endian就是低位存放低位
big endian就是低位存放高位
内存地址的编址是由低向高线性增长。对于我们人类而言,数字4321,我们读写的时候都是先读写高位,再读写低位。而以little endian方式存储的数据是地位地址对应低位,结果内存布局中就变成了1234。碰巧INTEL系列的CPU都是采用little endian的方式,所以和人类的读写习惯有差别。
PE问题也是一个道理
|
|
|