关闭

大端法和小端法a地方

171人阅读 评论(0) 收藏 举报
分类:

在C语言中,不同的数据类型占用的空间是不同的。例如char型的占用1个字节,而int型占用4个字节等。

对于多个字节的存储数据而言,数据的存储顺序的问题就显示出来了

所以大端法和小端法是 对  多字节   而言的。

不管是大端法还是小端发,数据在内存中的存储顺序都是由低地址到高地址,就是读取得顺序不同。

现在有一个整形数据0x12345678,左边的是高字节,右边的是低字节,

如  x (int)  位于 0x100  (指  首地址 的编号  )处,其值 0x01234567  所在 地址空间为 0x100~0x103 的字节
 大端法    0x100      0x101     0x102    0x103      (高位 在  首地址处,即编号较少的地址空间)     (IBM,SUN 大型机   大部分)
                   01           23           45        67
小端法        67           45            23        01         (低位 在 首地址处,即编号较少的地址空间)       (intel 等pc机   大部分)


首地址指的是编号较小的地址


测试代码

#include<stdio.h>

int main(int argc,char **argv)

{

int a=0x12345678;

char *p=NULL;

p=(char *) ( &a );

if(*p==0x78)

printf(" The little endlian\n");

else

printf(" The Big endlian\n");

return 0;

}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:20338次
    • 积分:490
    • 等级:
    • 排名:千里之外
    • 原创:24篇
    • 转载:29篇
    • 译文:2篇
    • 评论:1条
    文章分类
    最新评论