1. 程式人生 > >判斷計算機是大端還是小端

判斷計算機是大端還是小端

ima png code imageview ret return 技術 urn 地址

1. 大端:高位存在低地址,低位存在高地址

比如 :0x12345678
技術分享圖片

2. 小端:高位存在高地址,低位存在低地址

技術分享圖片

3. 判斷計算機是大端還是小端,代碼如下所示:

#include<stdio.h>
int main()
{
    int val=0x11223344;
    char *p=(char *)&val;
    if(*p==0x44)//若低地址為低位0x44,則為小端模式
        printf("Little Endian\n");
    if(*p==0x11)//若低地址為高位0x11,則為大端模式
        printf("Big Endian\n");
    return 0;
}

4. 大端與小端的轉換

#include<stdio.h>
int main()
{
    int val=0x11223344;
    val=((val<<8)&0xFF00FF00|(val>>8)&0xFF00FF);
    val=(val<<16)|(val>>16);
    printf("%x\n",val);
    return 0;
}

以上

判斷計算機是大端還是小端