看板 b95902HW 關於我們 聯絡資訊
剛才想起來我在上課時忘了提一件事, 這可能會讓你們在修改某些資料時碰上麻煩..: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