漂泊的程序人生

春天的布拉格

高位优先和低位优先

开始说说高位优先和低位优先,我们看如下代码:
int i=10;
那么i在内存中的布局如何哪?
假设内存是从低--->高增长的
在低位优先的硬件里面,内存布局如下:
00001010 00000000 00000000 00000000
而在高位优先的内存中:
00000000 00000000 00000000 00001010
这就是我们经常听说的高位优先,低位优先。
那么我们需要注意什么冬冬勒?
看下面一个程序:
#include <stdio.h>
    main()
    {
        int a=10;
        short b;
        memcpy(&b,&a,2);
        printf("%d/n",b);
    }
如果你输出结果为:10,恭喜你,你的内存存储是低位优先,
如果结果为:0呢?恭喜你,你的内存存储是高位优先。
btw:在处理器中总是高位优先。
 结论:

可能比较绕口,那就是最低的地址存放高位字节,称为高位优先,最低的地址存放低位字节,成为低位优先

阅读更多
文章标签: 存储
个人分类: c/c++
博主设置当前文章不允许评论。

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭