1. 程式人生 > >正確理解數字在記憶體中高位在高位,低位在低位

正確理解數字在記憶體中高位在高位,低位在低位

看下面例子
    char szDWORD[4] = {0x01,0x02,0x03,0x04};
    DWORD *pDW = (DWORD *)szDWORD;
陣列 szDWORD 的四個數的排列為 0x01,0x02,0x03,0x04,它們的地址順序為從低到高,轉化為 DWORD * 後,pDW 記憶體的真實數值是什麼?
因為數值在記憶體中是高位在高位,低位在低位,所以 0x01 其實是在數值的最右邊,因為我們讀數時,右邊是低位0x04 在最左邊,也就是說每一個位元組都要反過來,所以 pDW 中真實的數值是 0x04030201,而它們在記憶體中從低到高的排列順序是 0x01,0x02,0x03,0x04