您的位置:首页 > 其它

大端小端

2016-04-07 10:20 106 查看
测试本机是打断还是小端;
以前总听说大端小端,一直没太理解,其实只要动动手一切就差不多了!

大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;

小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中;

#include <stdio.h>
union Duan{

char a[sizeof(int)];
int num;
};

int main()
{
union Duan d;
d.num=134480385;
//这个数也有它的意义,其二进制数为:00001000 000000100 00000010 00000001 ,四个字节依次为:8-4-2-1;
//地址 0012ff47 0012ff46 0012ff45 0012ff44
printf("%p\n",&d.a[0]);//0012ff44
printf("%d\n",d.a[0]);

printf("%p\n",&d.a[1]); //0012ff45
printf("%d\n",d.a[1]);

if(sizeof(int)==4)
{
if(d.a[0]==1 && d.a[3]==8)
printf("此计算机为小端.\n");
if(d.a[0]==8 && d.a[3]==1)
printf("此计算机为大端。\n");
}

return 0;
}

本人愚钝,领悟至此,颇有感慨,与己共勉,陋文浅显,见者海涵。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: