您好,登錄后才能下訂單哦!
簡單來講所謂的大端存儲就是將高字節序的內容存在低地址處,那么,小端存儲就是將低字節序的內容存在高地址處。 (圖片做以解釋)
在計算機中,數據的是以其二進制補碼的形式存儲于計算機中的,上邊又提到了大端存儲和小段存儲,但是,每臺計算機的存儲方式又是不一樣 的,那么,怎么判斷一臺計算機是打斷存儲還是小段存儲呢?!
下面就來分裝一個函數來實現此功能:
我們知道 1 在計算機中存儲的是00000000 00000000 00000000 00000001(補碼),其十六進制表示為FF FF FF FF,如果取其地址,
計算機就有可能顯示的是:01 00 00 00; ———————— 小端存儲
或者:00 00 00 01; ———————— 大端存儲
因此,當我們只要知道這個數據存儲以后第一位是否為1就可以來判斷這臺計算機的存儲方式是大端存儲或者小段存儲(當然,這里的數字可以隨便給,但是為了方便起見就選1)
int sys_check() { int num = 1; char *p = (char *)# if(*p == 1) return 1; //小端存儲 else return 0; //大端存儲 } 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; }
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。