究竟什么是内存高地址什么是内存低地址?

作者&投稿:上曲 (若有异议请与网页底部的电邮联系)
内存的低地址和高地址?~

地址都是32位的,如果用整形数(16位)保存的话,就要分高低位保存,可以用整形数组 int pointer[2]来实现,高16位存在pointer[1]中,低16位存在pointer[0]中,调用时直接把pointer强制转化成整形地址 (int *)pointer就好了。

ps不知道你为什么一定要这样做,地址本身就可以是一个变量,定义一个地址变量来保存不就好了么

可以把主存看成一本空白的作业本,你现在要在笔记本上记录一些内容,他的页码排序是
第一页 : 0x0000001
第二页: 0x0000002
...
最后一页: 0x0000092
1 如果你选择 从前向后记录(用完第一页,用第二页,类推) 这就是先使用 低地址,后使用高地址
0x0000001 -> 0x0000002-> ... -> 0x0000092
2 如果你选择 从后往前记录(先用笔记本的最后一页,用完后使用倒数第二页,类推) 这就是先使用高地址,后使用低地址
0x0000092 -> ... ->0x0000002 -> 0x0000001
这个高地址、与低地址 容易与 高位、低位 产生混淆
比如我这个月工资为 1234.95 (一千二百叁拾肆块九毛五分)
那么这串数字的左边我们称呼为 高位 ,右边 称为低位
把工资加载到内存中时,需要一段连续的内存空间来存储数字
0x1 => 1
0x2 => 2
0x3 => 3
0x4 => 4
...
内存中的低地址存储工资中的高位 这种方式称为大端法。 如果把上边的存储方式反过来,内存中的高地址存储工资中的高位,则称为小端法

字节顺序是指占内存多于一个字节类型的数据在内存中的存放顺序,通常有小端、大端两种字节顺序。小端字节序指低字节数据存放在内存低地址处,高字节数据存放在内存高地址处;大端字节序是高字节数据存放在低地址处,低字节数据存放在高地址处。基于X86平台的PC机是小端字节序的,而有的嵌入式平台则是大端字节序的。
因而对int、uint16、uint32等多于1字节类型的数据,在这些嵌入式平台上应该变换其存储顺序。通常我们认为,在空中传输的字节的顺序即网络字节序为标准顺序,考虑到与协议的一致以及与同类其它平台产品的互通,在程序中发数据包时,将主机字节序转换为网络字节序,收数据包处将网络字节序转换为主机字节序


16进制高低位如何判断,过程?
0x23,即二进制的0010 0011,从左到右是高位到地位。我有一个内存地址是0x0000~0x0010,大端就是把高位16进制数的4个高位放在低地址上即,0010放在内存高地址0x0001上,而16进制低位数据0011放在内存低地址0x0000上。小端规则,就是高位数据放在高位地址,低位数据放在地地址位,与大端相反 ...

请高物解答内存的地址是怎么回事
内存地址 系统 ram 中的特定位置,通常以十六进制的数字表示。在8086的实模式下,把某一段寄存器左移4位,然后与地址ADDR相加后被直接送到内存总线上,这个相加后的地址就是内存单元的物理地址,而程序中的这个地址就叫逻辑地址(或叫虚地址)。在80386的保护模式下,这个逻辑地址不是被直接送到内存...

在微机中,若主存储器的地址编号是0000H到7FFFH,则该存储器容量为多少...
地址编号从80000H到BFFFFH且按字节编址的内存容量为_256_KB,若用16K×4bit的存储芯片够成该内存 ,共需_32_片。做减法运算求出内存容量:尾数-首数+1。BFFFFH-80000H+1=40000H。所以从80000H到BFFFFH有40000H个地址单元。转换为十进制:40000H=4×164=22×(24)4=218,即28KB,也就是内存容量...

8086为什么高位先存
字节顺序是指占内存多于一个字节类型的数据在内存中的存放顺序,通常有小端、大端两种字节顺序。小端字节序指低字节数据存放在内存低地址处,高字节数据存放在内存高地址处;大端字节序是高字节数据存放在低地址处,低字节数据存放在高地址处。基于X86平台的PC机是小端字节序的,而有的嵌入式平台则是大端...

...那在下面图中的格子内,那个是高地址哪个是低地址啊?而3050H哪个是...
内存中数据存储,一个字的低位字节在低地址,高位字节在高地址。你的图中,表示内存的部分,上面50的那一格代表的是低地址,下面存30的格子代表的是高地址。

什么是大小端地址模式
相反,在小端模式中,最重要的字节会被存放在内存中的最高地址处。也就是说,最低位字节会被首先存储。同样以四字节的整数0x12345678为例,在小端模式下,它将被存储为:78 56 34 12(地址从低到高)。这两种模式的选择并没有绝对的对错,主要取决于特定的应用或系统的需求。例如,网络协议中通常...

请问以低字节的地址为字地址的存放方式是什么意思呢?以高字节的地址
……这是谁翻译的,这么拗口。直接叫小端(Little Endian)模式和大端(Big Endian)模式不就行了。百度嫌我字数不够

大端和小端存储法是什么?两者有什么区别?
大端:较高的有效字节存放在较低的存储器地址,较低的有效字节存放在较高的存储器地址。大端模式就是低位存放在高地址上。高位存放在地址上。小端模式就是地位存放在低地址上。高位存放在高地址上。例如,16bit宽的数0x1234在Little-endian模式CPU内存中的存放方式(假设从地址0x4000开始存放)为:内存地址...

什么是XMP
XMP是Extreme Memory Profile的缩写,是Intel在2007年9月提出的内存认证标准,适用于DDR3和DDR4。了统一行业内的超频数值标准,而不让各个内存厂商随意设定更高的内存频率数值写入到SPD,英特尔提出了XMP认证标准。通过XMP认证的内存会在内存地址176 ~ 254中记录内存的速度设定,最多可以保存2组设定值。

...short int x在内存中的存储形式高地址放?低地址放?
内存从上到下看,0x1234存放的结果是3412

昆山市17711821764: 究竟什么是内存高地址什么是内存低地址? -
呈璐泛捷: 字节顺序是指占内存多于一个字节类型的数据在内存中的存放顺序,通常有小端、大端两种字节顺序.小端字节序指低字节数据存放在内存低地址处,高字节数据存放在内存高地址处;大端字节序是高字节数据存放在低地址处,低字节数据存放在高地址处.基于X86平台的PC机是小端字节序的,而有的嵌入式平台则是大端字节序的. 因而对int、uint16、uint32等多于1字节类型的数据,在这些嵌入式平台上应该变换其存储顺序.通常我们认为,在空中传输的字节的顺序即网络字节序为标准顺序,考虑到与协议的一致以及与同类其它平台产品的互通,在程序中发数据包时,将主机字节序转换为网络字节序,收数据包处将网络字节序转换为主机字节序

昆山市17711821764: 哪个来说哈内存地址的低位和高位是啥子意思呢? -
呈璐泛捷: 常用单片机内存一个地址只能存八位二进制数,最大数据只能是255(十进制).当需要储存大于255的数据时,就需要用两个以上的内存地址,低位字节中的数是原数,高位字节中的数要乘以位数再与低位字节中的数相加才是你真要的数.N=Xn*256^n+X(n-1)*256^(n-1)……X1*256+X0.n……n+1个内存地址.就象十进制数4321…………n=34*10^3+3*10^2+2*10+1.数据指针是内存或寄存器地址,这个内存或寄存器地址内存放的就是你需要的数据.就象你到教室里去找人,别人告诉你一个座位号,这个座位上坐着的就是你要找的人,这个座位号就是人指针.如果这个数据使用多个字节则是最低位字节的地址.

昆山市17711821764: 内存高址,内存高址是什么意思? -
呈璐泛捷: 存储是通过地址进行访问的,也就是说存储单元地址对应一个存储空间,存储空间中存放相应的内容. 现在的微机的内存是以字节进行编址的,也就是说一个地址所对应的空间中只能存放一个字节的内容.实模式下内存地址范围为00000H-FFFFFH,即00000H为低地址,FFFFFH为高地址.

昆山市17711821764: C语言中的高位字节和低位字节是什么意思 -
呈璐泛捷: 所谓的高位字节和低位字节是相对于地址而言的,在内存中,地址是按字节编码的,即一个字节编一个地址,这个地址就是这个字节的编号.高位字节就是高地址字节,低位字节就是低地址字节.

昆山市17711821764: c语言中高字节和低字节是什么意思 -
呈璐泛捷: 当一个数据超过8位的时候就必须采用两个或多个字节进行存储,例如int类型是16位的数据类型,那么十进制数字256就分为两个字节进行存储0x01FF,其中高字节就是0x01,低字节就是0xFF.存储的时候应该是高字节在内存的低地址,低字节在内存的高地址

昆山市17711821764: 什么是存储多字节数据的小端方式? -
呈璐泛捷: 例如数字 0x2345 在内存中存储的时候低地址存45,高地址存23. 详细叙述如下: Big-Endian和Little-Endian的定义如下: 1) Little-Endian就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端. 2) Big-Endian就是高位字节排...

昆山市17711821764: C语言中的“高位字节”和“低位字节”是什么意思? -
呈璐泛捷: 通常我们从最高有效位(most significant digit)开始自左向右书写一个数字.在理解有效位这个概念时,可以想象一下你的支票数额的第一位增加1和最后一位增加1之间的巨大区别,前者肯定会让你喜出望外.计算机内存中一个字节的位相当...

昆山市17711821764: 嵌入式系统中 什么是大小端格式
呈璐泛捷: 定义: 大端模式,是指数据的高位,保存在内存的低地址中,(而数据的低位,保存在内存的高地址中); 小端模式,是指数据的高位保存在内存的高地址中,(而数据的低位保存在内存的低地址中). 举例: int a = 0x12345678; //a里面存放一个16进制的数,a是int型,并占4个字节,现在假设a的首地址是:0x2000.则有: 低地址 ----------------->>> 高地址 0x2000 0x2001 0x2002 0x2003 地址 0x12 0x34 0x56 0x78 大端模式存储 0x78 0x56 0x34 0x12 小端模式存储

昆山市17711821764: C++是高位先存还是低位,先存,所谓的低位和高位指的是什么,最后能举例,万分感谢!! -
呈璐泛捷: int i=10; 假设内存是从低--->高增长的 在低位优先的硬件里面,内存布局如下: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呢你的内存存储是高位优先.

昆山市17711821764: 大端存储和小端存储的区别 -
呈璐泛捷: 大端模式就是存放在高地址上.高位存放在地址上. 小端模式就是地位存放在低地址上.高位存放在高地址上. 例如,16bit宽的数0x1234在Little-endian模式CPU内存中的存放方式(假设从地址0x4000开始存放)为: 内存地址 0x4000 0x4001 存放内容 0x34 0x12 而在Big-endian模式CPU内存中的存放方式则为: 内存地址 0x4000 0x4001 存放内容 0x12 0x34

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网