1. 程式人生 > >大小端判斷程式碼(聯合)

大小端判斷程式碼(聯合)

大端模式(Big_endian):字資料的高位元組儲存在低地址中,而字資料的低位元組則存放在高地址中。 小端模式(Little_endian):字資料的高位元組儲存在高地址中,而字資料的低位元組則存放在低地址中。

這是大小端的定義

https://mp.csdn.net/postedit/81782305文中寫到了聯合的概念,我翻閱書籍時,查到一種巧妙地方式,這種感覺就像我第一次看《程式設計珠璣》時,驚訝於程式碼的處理形式。

int checkSystem()
{
	union check
	{
		int i;
		char ch;
	} c;
	c.i = 1;
	return (c.ch == 1);//大端返回0,小端返回1
}

我的筆記本是小端模式,小端模式在強轉資料不需要調整位元組內容,而大端模式符號位的判定固定為第一個位元組。