係統的存儲模式---大小端模式
#include <stdio.h> bool issmall(); int main() { if (issmall()) { printf("Little \n"); } else { printf("Big\n"); } 262 657的二進製是 0000 0000 0000 0100 0000 0010 0000 0001 如果是Intel PC(Little-endian),這個數字將存儲為 字節地址:00 01 02 03 0000 0001 0000 0010 0000 01000000 0000 如果是Motorola處理機的Mac機,在內存中擺放如下: 字節地址:00 01 02 03
0000 0000 0000 0100 0000 00100000 0001
//上麵的判斷測試出你的機子的類型 //下麵的代碼是對大小端的理解及運用 int a[5]={1,2,3,4,5}; int *p1=(int *)(&a+1); int *p2=(int *)((int)a+1); printf("%x %x\n",p1[-1],*p2); return 0; } bool issmall() { union{ int j; char c; }temp; temp.j=1; if (1==temp.c) { return true; } else return false; }
最後更新:2017-04-02 06:52:24