高位优先和低位优先

原创 2005年03月01日 20:22:00

开始说说高位优先和低位优先,我们看如下代码:
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:在处理器中总是高位优先。
 结论:

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

字节顺序:高位优先(big-endian)和低位优先(little-endian)

字节顺序是指占内存多于一个字节类型的数据在内存中的存放顺序,通常有小端、大端两种字节顺序。小端字节序指低字节数据存放在内存低地址处,高字节数据存放在内存高地址处;大端字节序是高字节数据存放在低地址处,...
  • will130
  • will130
  • 2015年09月25日 17:41
  • 1443

C语言16位拆成高低八位,和高低八位合成16位数据(1)

#include #include char right,left,temp;//right表示第八位,left表示高八位 int size_right,size_left,size_temp; ...
  • qq_34071268
  • qq_34071268
  • 2017年12月07日 17:11
  • 457

delphi 关于 "高位" 与 "低位"

本话题会涉及到: Lo、Hi、HiByte、LoWord、HiWord、MakeWord、MakeLong、Int64Rec--------------------------------------...
  • chinmusam
  • chinmusam
  • 2010年09月09日 00:02
  • 630

字节顺序:高位优先(big-endian)和低位优先(little-endian)

字节顺序:高位优先(big-endian)和低位优先(little-endian)   网络字节序: MSB 高字节前存法 Most Significant Bit   (Big Edian) ...
  • yu132563
  • yu132563
  • 2015年02月10日 11:20
  • 1907

高位优先与低位优先

Endians是什么意思?它是数据在内存中的排列顺序。在微处理器中,象long/DWORD(32 bits) 0x12345678 这样的数据总是按照高位优先(BIG ENDIAN)方式存放的。但在内...
  • jackyrongvip
  • jackyrongvip
  • 2013年07月01日 17:05
  • 963

小白学算法3.2——高位优先字符串排序

小白学算法3.2——高位优先字符串排序标签: 小白学算法 博客本节内容总结自《算法(第4版)》5.1节1.高位优先字符串排序字符串常见的排序算法有两种,分别是低位优先(LSD)和高位优先(MSD),低...
  • xuelabizp
  • xuelabizp
  • 2016年03月02日 17:27
  • 1499

小白学算法3.1——低位优先字符串排序

小白学算法3.1——低位优先字符串排序标签: 小白学算法 博客本节内容总结自《算法(第4版)》5.1节1.低位优先字符串排序相比较于数字,字符串在生活中出现的频率更高,更常用,如姓名、车牌和电话号码等...
  • xuelabizp
  • xuelabizp
  • 2016年02月22日 10:36
  • 1208

一个指针转换引起的问题及谈起”高位优先,低位优先”

在hp或aix机上试一下这个程序就知道 int为4字节,short为2字节   #include int main() { int i=0; fun(&i); p...
  • shuilan0066
  • shuilan0066
  • 2012年08月13日 11:14
  • 1948

在低位优先的计算机中使用C++读取高位优先的二进制文件的方法

最近在跟老师做小学期项目,用到了mfcc。他们提供的工具生成了一个二进制频谱序列,并且提供了matlab方法对该文件进行读取,然而matlab用的不熟,想用cpp去解决之后的一系列问题,所以只能靠看m...
  • friskit
  • friskit
  • 2011年08月23日 13:20
  • 3615

单片机存储中的大小端模式

请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1解答:int checkCPU( ) { { union w ...
  • jnu_fangzebin
  • jnu_fangzebin
  • 2016年06月02日 12:07
  • 1795
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:高位优先和低位优先
举报原因:
原因补充:

(最多只允许输入30个字)