大端字节序和小端字节序之分

来源:互联网 发布:多玩wow数据库 编辑:程序博客网 时间:2024/05/27 00:32

      我们知道关于字节序有大端和小端之分。一般来说,Inter的处理器使用的是小端(little Indian),Moto的处理器使用的是大端。大端和小端的区别在于,内存对于变量的存放规则不同。小端存储模式是低位放在低地址,高位存放在高地址。而大端则相反。

     简单示例如下:

          a=0x11223344;

                            低                                                             高

     地址由低到高————————————————————>

      小端字节序      44     33    22     11

      大端字节序      11     22    33     44


 那么为了判断存储方式属于大端还是小端存储,我们给出如下代码:

#include<stdio.h>

#include<stdlib.h>


int check_sys()

{

int a = 0x11223344;

char *p = (char *)&a;

if (*p == 0x11)

{

return 1;

}

if (*p == 0x44)

{

return 2;

}

}

int main()

{

int ret = check_sys();

if (ret == 1)

printf("Big\n");

if (ret == 2)

printf("little\n");

system("pause");

return 0;

}

     

0 0
原创粉丝点击