引用
一、機器大小端
1、大端模式:是指資料的高位元組儲存在記憶體的低位址中,而資料的低位元組儲存在記憶體的高位址中,這樣的儲存模式有點兒類似於把資料當作字串順序處理:位址由小向大增加,而資料從高位往低位放;這和我們的閱讀習慣一致。
short a = 0x1234;
//如果0x12在低址處,就是大端
2、小端模式:是指資料的高位元組儲存在記憶體的高位址中,而資料的低位元組儲存在記憶體的低位址中,這種儲存模式將位址的高低和資料位權有效地結合起來,高位址部分權值高,低位址部分權值低。
short a = 0x1234;
//0x34在低位址處,就是小端
3、記憶技巧:小小小,低位元組序存在低位址處就是小端
二、四種方法判斷機器大小端
1、利用指標判斷
#include
#define bool_true 1
#define bool_false 0
int islittleendian()
2、利用聯合體判斷
聯合體union的存放順序是所有成員從低位址開始存放的
#include
#define bool_true 1
#define bool_false 0
union lit
;int islittleendian()
3、利用系統函式htons()
htons包含於sys/socket.h
注意:vs2008沒有包含此函式的庫函式,linux下可以使用
#include
#define bool_true 1
#define bool_false 0
int islittleendian()
return bool_false;
}
4、定義乙個變數之間檢視記憶體
int x = 1; //直接檢視記憶體看該變數的低位址是否為1
判斷機器的大小端
一 概念 大端模式 big endian 是指資料的低位儲存在記憶體的低位址中,而數 據的高位儲存在記憶體的高位址中。為什麼會有大小端模式之分呢?這是因為在計算機系統中,我們是以位元組為單位的,每個位址單元都對應著乙個位元組,乙個位元組為8bit。但是在c語言中除了8bit的char之外,還有16b...
判斷機器的大小端
大端 儲存 模式,是指資料的低位儲存在記憶體的高位址中,而資料的高位,儲存在記憶體的低位址中 小端 儲存 模式,是指資料的低位儲存在記憶體的低位址中,而資料的高位,儲存在記憶體的高位址中。這是因為在計算機系統中,我們是以位元組為單位的,每個位址單元都對應著 乙個位元組,乙個位元組為8bit。但是在c...
判斷機器的大小端
大小端模式 為什麼會有大小端模式之分呢?這是因為在計算機系統中,我們是以位元組為單位的,每個位址單元都對應著乙個位元組,乙個位元組為 8bit。但是在c語言中除了8bit的char之外,還有16bit的short型,32bit的long型 要看具體的編譯器 另外,對於位數大於 8位的處理器,例如16...