作者vgod (vgod)
看板b95902HW
标题[作业] 关於计概作业三..
时间Fri Oct 20 20:52:17 2006
刚才想起来我在上课时忘了提一件事, 这可能会让你们在修改某些资料时碰上麻烦..:p
事情是这样的,话说游戏中的数值如果只有1 byte时
那就很容易找到它,在hex editor里看到的就是00 ~ FF ( 0 ~ 255 )
但如果它是个2 bytes,甚至4 bytes的integer时呢?
以钱为例,当你有1000元时,
16进位的换算告诉我们在电脑里应该是会看到03 E8 (假设是2 byte integer)
但如果你真的去存档里用这个值找,你是找不到它正确的位置的!
奇怪的是,你要用E8 03去找才能找到
这是为什麽呢?
原因是我们现在用的Intel x86相容CPU,都是采用little endian的储存方式,
而我们一般表示数字都是用big endian来表示!
所以你就会发现存档里的数字都是反过来存的...
至於big endian和little endian到底是什麽呢?
老师上课应该有讲过XD 我就不多提啦
如果不清楚的,可以参考这个网页
http://libai.math.ncu.edu.tw/bcc16/pool/1.33.shtml
它写得很清楚,甚至连这两个词的由来都有:p
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.30.26