在設計計算機系統的時候,有兩種處理内存中數據的方法。一種稱之為小端模式,即Intel 模式,另一種稱之為大端模式,即Motorola模式。
為什麼會有大小端之分呢?
在計算機系統中,是以字節為單位的,每一個地址單元對應一個字節。但是,我們知道還有16bit的shot型、32bit的long型等數據類型,此外對于大于8位的處理器,諸如16位、32位、64位的,由于寄存器的寬度是大于一個字節的,那麼就必然存在一個如何将多字節排序的存藏的問題,這就導緻了所謂的大端模式和小端模式。
假如有一個32bit的數據a,a在内存中的地址為:0x00000000,a的值為0x12345678,
其中0x12為高字節,0x78為低字節。
對于大端模式:在大端模式中,低位字節放在高地址,高位字節放在低地址。
高地址0x12應該存放在低地址中,存放在0x00000000中
0x34存放在0x00000001中
0x56存放在0x00000002中
0x79存放在0x00000003中
對于小端模式:在小端模式中,低位字節放在低地址,高位字節放在高地址;
高字節0x12應該存放在高地址中,存放在0x00000003中
編譯器測試:
我的編譯器是小端模式。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!