大端和小端

    技术2022-07-03  162

    1.计算机中内存按字节编址。当存入数据长度大于一个字节时,存储方式分为大端和小端。大端:低地址存高位;小端:低地址存低位。

    Intel x86使用little_endian, java虚拟机使用big_endian。

    举例:0x1234

    地址        0x00       0x01

    小端        0x34       0x12

    大端        0x12       0x34

     

    2.判断计算机是大端还是小端的代码:

    (1)

    int islittleEndian() {     union tag_bl     {         short int n;         char c;     } u_bl;         u_bl.n = 0x01;     if(u_bl.c)     {  

            printf("is little endian/n");          return 1;             }     else     {         printf("is big endian/n");            return 0;     } }

    (2)

    int isbigEndian() {     short int n = 0x01;     char *p = (char*)&n;     if(*p)         return 0;     else         return 1; }


    最新回复(0)