正确理解数字在内存中高位在高位,低位在低位

看下面例子
    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

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页