瀏覽單個文章
darkangel
Major Member
 
darkangel的大頭照
 

加入日期: Aug 2001
文章: 211
引用:
作者天天開心
請教各位老屁股

BIG Endian

假設數值02,在記憶體內佔用2Bytes
存檔格式佔用4Bytes
那麼檔案寫入是00 02 00 00嗎?


要看 CPU 與 OS 的 write function 是怎樣處理,
就我碰過的 big endian RISC CPU 32-bit MIPS 來說,
在記憶體中,即使是 2 bytes 資料,
也都是以 4 個 bytes 為單位處理,
也就是實際上在記憶體中會是 00 00 00 02,
更有趣的是 MIPS 每個指令也都是 4 bytes 固定長度,
跟 x86 會有那種 1 byte 指令如 xor ax,ax 或 nop 之類的不太一樣,
如果用那種 CPU,
存 4 bytes 進檔案理論上應該會是 00 00 00 02,
不過我已經十年以上沒碰 MIPS,可能有誤,但大致是這樣。

__________________
滿招損 謙受益
舊 2022-03-01, 09:08 PM #36
回應時引用此文章
darkangel離線中