溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎樣判斷你的電腦是大端字節(jié)序存儲(chǔ)還是小段字節(jié)序存儲(chǔ)

發(fā)布時(shí)間:2020-05-12 05:49:45 來源:網(wǎng)絡(luò) 閱讀:1016 作者:劉二陽二陽 欄目:編程語言

簡(jiǎn)單來講所謂的大端存儲(chǔ)就是將高字節(jié)序的內(nèi)容存在低地址處,那么,小端存儲(chǔ)就是將低字節(jié)序的內(nèi)容存在高地址處。  (圖片做以解釋)


怎樣判斷你的電腦是大端字節(jié)序存儲(chǔ)還是小段字節(jié)序存儲(chǔ)



在計(jì)算機(jī)中,數(shù)據(jù)的是以其二進(jìn)制補(bǔ)碼的形式存儲(chǔ)于計(jì)算機(jī)中的,上邊又提到了大端存儲(chǔ)和小段存儲(chǔ),但是,每臺(tái)計(jì)算機(jī)的存儲(chǔ)方式又是不一樣 的,那么,怎么判斷一臺(tái)計(jì)算機(jī)是打斷存儲(chǔ)還是小段存儲(chǔ)呢?!

下面就來分裝一個(gè)函數(shù)來實(shí)現(xiàn)此功能:

我們知道 1 在計(jì)算機(jī)中存儲(chǔ)的是00000000 00000000 00000000 00000001(補(bǔ)碼),其十六進(jìn)制表示為FF FF FF FF,如果取其地址,

計(jì)算機(jī)就有可能顯示的是:01 00 00 00; ————————   小端存儲(chǔ)  

                               或者:00 00 00 01; ————————  大端存儲(chǔ)

因此,當(dāng)我們只要知道這個(gè)數(shù)據(jù)存儲(chǔ)以后第一位是否為1就可以來判斷這臺(tái)計(jì)算機(jī)的存儲(chǔ)方式是大端存儲(chǔ)或者小段存儲(chǔ)(當(dāng)然,這里的數(shù)字可以隨便給,但是為了方便起見就選1)

int sys_check()
{
	int num = 1;
	char *p = (char *)#    
	if(*p == 1)
		return 1;              //小端存儲(chǔ)
	else
		return 0;              //大端存儲(chǔ)
}

int main()
{
	int num = 1;
	int ret = sys_check();
	if(ret == 1)
	{
		printf("little\n");
	}
	else if(ret == 0)
	{
		printf("big\n");
	}
	system("pause");
	return 0;
}


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI