大端模式 && 小端模式學習筆記

      Big-Endian和Little-Endian的定義以下:
1) Little-Endian就是低位字節排放在內存的低地址端,高位字節排放在內存的高地址端。
2) Big-Endian就是高位字節排放在內存的低地址端,低位字節排放在內存的高地址端。spa


不一樣字節序如何存儲數據?

看看兩種方式如何存儲數據,假設從地址0x00000001處開始存儲十六進制數0x12345678,那麼orm

Bit-endian 如此存放(按原來順序存儲)
0x00000001           -- 12
0x00000002           -- 34
0x00000003           -- 56
0x00000004           -- 78

Little-endian 如此存放(顛倒順序儲存)
0x00000001           -- 78
0x00000002           -- 56
0x00000003           -- 34
0x00000004           -- 12內存

一個很好的記憶方法是,大端序是按照數字的書寫順序進行存儲的,而小端序是顛倒書寫順序進行存儲的。it



bool IsBigEndian()io

{nio

int a =1 ; 方法

if(((char*)&a)[3] ==1)數據

return true ;margin

elsetop

return false ;

}

----------------------

bool IsBigEndian()

{

union 

{

unsigned short a ;

char b ;

} c;


c.a =0x0102 ;


if(c.b ==1)

return true ;

else

return false ;

}

相關文章
相關標籤/搜索