夏夜的風得風呼呼吹。。。
小端: 低bit數據放在低地址。 和我們的邏輯一致。以字節爲點位。
方法1:
聲明一個聯合體,聯合體內有兩個元素:int 和char。
#include <stdio.h>
union n{
int a;
char b;
};
int main(){
union n fg;
fg.a=1;
if(fg.b!=0)
printf("Little\n");
else
printf("Big\n");
return 0;
}
共用體中的所有元素都存放在一塊內存空間中,而char b的起始地址是從int型的起始地址對齊的, 如果是小端,int的第一個字節對應1,則char b爲1。
方法2:
面試時,隨機想出來得。定義一個int變量,int a=1;然後取得這個變量得地址,然後,檢查高地址爲1還是低地址爲1.
方法3:
int a=1;
char b = (char) a;
一個int型變量佔四個字節,一個char型變量佔一個字節,將一個int型變量強轉爲char類型的變量時,只保留低8位。 如果是小端存儲,則b==1;