精华内容
下载资源
问答
  • 内存地址几位
    千次阅读
    2017-11-17 10:10:15

    问题来源:指针数组是一个数组,他每个元素中都是一个地址,那么指针数组一个元素有多大?

    这取决于你的计算机的地址线的位数,他直接决定了可寻址的多少。

    比如32根地址线(32个二进制位表示一个地址),总共有2的32次方种组合方式,也就是能对应2的32次方个地址,每个地址可以存放一个字节的数据(8bit),也就是说可寻址的大小基本上就是RAM的大小,这里32根对应的内存是4GB。

    参考文章:

    http://blog.csdn.net/YuZhiHui_No1/article/details/38458681





    所以32根地址线就对应4个字节,8个十六进制数,也就是指针数组一个元素的大小。


    更多相关内容
  • 内存地址与内存空间

    千次阅读 2021-10-04 19:21:35
    首先知道个概念 内存地址只是一个编号,代表一个内存空间;(内存地址是16进制保存的,一个内存(内存空间)是一是个...16操作系统的内存地址占用大小是16,即2字节 32操作系统的内存地址占用大小是3...

    首先知道几个概念

    1. 内存地址只是一个编号,代表一个内存空间;( 内存地址是16进制保存的,一个内存(内存空间)是一个字节(8bit)

    2. 内存地址所执行的内存单元大小就是1字节,跟内存地址位数无关;

    定义一个int类型的变量,找到一个空间伪4个字节的空间

     变量a占用4个字节的空间,但是内存地址是第一个字节的地址,也就是说上面的变量a的内存地址是238.

    内存地址的占用大小

    16位操作系统的内存地址占用大小是16位,即2字节

    32位操作系统的内存地址占用大小是32位,即4字节

    64位操作系统的内存地址占用大小是64位,即8字节

    128位操作系统的内存地址占用大小是128位,即16字节

    展开全文
  • 内存地址(理解)

    千次阅读 2020-04-30 23:31:58
    内存地址 内存大小 32/64操作系统 大端小端


    内存地址

    一个内存地址=一个内存单元=一个字节

    一个地址表示的是一个8bit空间
    (不论这个地址有多少位,表示地址的位数和CPU的位有关:
    CPU只能寻址16位(16根地址线),所以用4位十六进制表示地址,CPU只能寻址32位(32根地址线),所以用8位十六进制。一位十六进制表示四位二进制。)

    内存大小

    32/64位操作系统就是和CPU的位数有关,CPU的位数是指CPU一次性可以处理数据或指令的能力。例如8位的CPU,一次只能处理一个8位的数据或者一个8位的指令。

    位的单位是bit,字节的单位是byte。1byte=8bit,1字节=8位。
    字节一般用B,位一般用b

    1GB简称1G, 指存储数据的容量大小

    1G=1048576KB ,1G=1024MB,1MB=1024KB,1KB=1024B字节
    1TB=2*2*2*2*2*2*2*2*2*2=1024GB
    1G=2*2*2*2*2*2*2*2*2*2=1024MB
    1MB=2*2*2*2*2*2*2*2*2*2=1024KB
    1KB=2*2*2*2*2*2*2*2*2*2=1024B

    地址总线的位宽决定了CPU的寻址能力有关。位宽就是位数、宽度。

    因为计算机内部是以二进制表示的,所以,
    32位(bit)处理器(cpu)的寻址能力最大为:
    以字节为单位,找到一位也就找到了一字节,因为字节是最小单元
    实际上就是2的32次方个8bit(1Byte),等于232Byte,
    232(Byte)=210 * 210 * 210 * 22(Byte)=4GB

    所以常说32位操作系统最多支持4GB内存,64位操作系统同理。
    在这里插入图片描述
    为了更好地描述存储单位,使人们能够更容易理解计算机的空间,计算机行业又制定了比比特更大的单位,这个单位就是字节,英文描述为 byte ,简写为字母 B ,它是常用的基本单位。

    随着计算机数据的不断扩大,KB 又出现了,它和 byte 的换算关系就是 1 个 KB 等于 1024B ,然后又是 MB , 1MB 等于 1024KB ,接下来的就是非常常见的 GB , 1GB 等于 1024MB ,再往上就是 TB , 1TB 等于 1024GB ,各个单位都是 1024 的数量级关系。

    在生活中,一张图片的大小差不多就是几个 MB 左右,而一部电影则差不多在 2GB 左右。

    注意区分:
    1MB/s(兆字节/秒)=8Mbps(兆位/秒)
    1MB/s=8Mbps
    个人理解:。。。 。。。


    大端小端

    32bit的16进制数 0x12345678 在内存中的存放方式:
    大端: 高字节存储在低地址,低字节存储在高地址

    内存地址0x10000x10010x10020x1003
    存放内容0x120x340x560x78

    小端: 低字节存储在低地址,高字节存储在高地址

    内存地址0x10000x10010x10020x1003
    存放内容0x780x560x340x12

    堆向高地址扩展,栈向低地址扩展。
    windows上内存是中间向两头增长,linux上的内存是两头向中间增长。

    理解小端(程序)https://blog.csdn.net/ssc_zcys/article/details/105875616

    展开全文
  • 在网上看到很多朋友分不清32处理器和32位地址线的问题,还有就是提出32位地址线为什么是4G大小的内存? 首先这是一个很好的问题,但是网上却有很多不好的答案。因为回答的人本身也没有搞清楚,把32处理器和32...

    在网上看到很多朋友分不清32位处理器32位地址线的问题,还有就是提出32位地址线为什么是4G大小的内存

    首先这是一个很好的问题,但是网上却有很多不好的答案。因为回答的人本身也没有搞清楚,把32位处理器和32位地址线当做一回事给别人解释,误导他人。


    32位处理器:

    32位处理器表示我们的处理器一次可以处理的数据量,也就是32位大小,即4个字节。

    那么我们现在常见的还有64位处理器,它代表处理器一次可以处理8个字节的大小。

    处理器的位数代表了处理器处理数据的能力。


    32位地址线:

    32位地址线又是什么意思呢?在计算机中,当处理器需要在内存中存取数据的时候,就必然会面临一个问题就是寻址,寻址的前提就是建立地址。

    在计算机的物理结构中,一根地址线可以有0和1两个信号,那么通过这0和1的两个电信号,32根地址线一共组合起来就可以形成2^32个电信号的组合,通过它们我们就可以建立起2^32个地址,用于处理器识别和访问。在这里,特别强调一个东西就是,在内存中,数据存储的最小单位是1个字节。为什么要强调这个,是因为它决定了我们的总的内存大小。由于在内存中,数据存储的最小单位是1个字节,而我们现在有2^32个地址,即我们需要2^32个字节大小的存储空间,即4G大小,这也就是为什么32位地址线的内存大小为4G的原因了。

    展开全文
  • 内存地址的概念和理解

    万次阅读 多人点赞 2019-05-29 09:07:24
    1.内存地址用416进制和816进制表示的区别。例如经常可以看到某些书籍上写的内存地址0x0001,在另外一些书籍上写的内存地址又变成了0x00000001。都是表示的编号为1的内存地址,为什么一个是416进制表示,另外一...
  • 彻底搞懂虚拟内存,虚拟地址,虚拟地址空间

    千次阅读 多人点赞 2021-04-27 18:20:55
    可执行文件由操作系统加载到内存中,交由CPU去执行,现在问题来了,CPU怎么去访问代码和数据?,访问的方式经历过四个阶段: 1.直接访问 2.段基址+段偏移地址 3.段选择子+段偏移地址 4.虚拟地址 现代操作系统采用...
  • 博主最近正在学习微机原理与接口技术、计算机组成原理等专业课程,产生了一个疑问:假设地址总线为10,为什么就可以访问1KB的内存?难道不该是13,才能访问1KB的内存吗?认真思考过的小伙伴,应该都会有这个疑问...
  • 计算机内存地址和为什么用16进制?

    千次阅读 2021-07-11 03:46:49
    十六进制更简短,因为换算的时候一16进制数可以顶42进制数,也就是一个字节(8进制可以用两个16进制表示)2、最早规定ASCII字符集采用的就是8bit(后期扩展了,但是基础单位还是8bit),8bit用2个16进制直接就能...
  • C语言的内存地址及相关一些基本概念

    千次阅读 多人点赞 2020-10-29 23:05:29
    指针的本质 C语言中所有的变量都有类型 int类型就保存整数 doublue类型就保存的双精度的浮点数 指针保存的是内存地址 数组声明的内存排序 C语言声明数组要声明数组的长度 在函数里声明在栈内存里,函数执行的时候...
  • 32根地址线内存多少

    千次阅读 2021-07-24 01:16:31
    选择内存大小时,我们需要知道地址线总数和内存的关系,每一根地址线都会代表一个bit,才能满足地址线的正常工作需要。32根地址线内存多少32根地址线需要4G的内存,这里可以根据计算公式来得到结果,比如32根地址...
  • 关于内存和内存地址的详解

    千次阅读 2018-10-24 22:48:46
    内存地址用416进制和816进制表示的区别。例如经常可以看到某些书籍上写的内存地址0x0001,在另外一些书籍上写的内存地址又变成了0x00000001。都是表示的编号为1的内存地址,为什么一个是416进制表示,另外一个...
  • 内存地址空间布局

    万次阅读 2014-12-04 11:58:18
    在32模式下虚拟地址空间总是一个4GB的内存地址块。这些虚拟地址通过页表(page table)映射到物理内存,页表由操作系统维护并被处理器引用。每一个进程拥有一套属于它自己的页表,但是还有一个隐情。只要虚拟地址...
  • C++内存地址分配和内存区划分简介

    千次阅读 2018-02-07 11:58:49
    C++内存地址分配和内存区划分简介 原文地址:http://blog.csdn.net/liuhuiyi/article/details/7530137 内存类型简介 内核:在一些系统中,当系统调用发生时,操作系统或者操作系统内核会编程应用程序内存的一...
  • 关于内存地址和内存空间的理解

    万次阅读 多人点赞 2018-06-04 02:16:04
    1.内存地址用416进制和816进制表示的区别。例如经常可以看到某些书籍上写的内存地址0x0001,在另外一些书籍上写的内存地址又变成了0x00000001。都是表示的编号为1的内存地址,为什么一个是416进制表示,另外一...
  •  大端模式(Big-endian),是指数据的低位(就是权值较小的后面那几位)保存在内存的高地址中,而数据的高位,保存在内存的低地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而...
  • PCIe的内存地址空间、I/O地址空间和配置地址空间 pci设备与其它接口的设备(如i2c设备)最大的不同是存在内存地址空间和配置地址空间,本文分析一下它们的用途。 首先区分一下IO空间和内存空间 cpu会访问的设备一般...
  • 内存地址存储,内存空间

    千次阅读 2018-05-13 11:56:37
    1.内存地址用416进制和816进制表示的区别。例如经常可以看到某些书籍上写的内存地址0x0001,在另外一些书籍上写的内存地址又变成了0x00000001。都是表示的编号为1的内存地址,为什么一个是416进制表示,另外一...
  • PCIe的内存地址空间、I/O地址空间和配置地址空间

    万次阅读 多人点赞 2018-08-12 18:07:14
    PCIe的内存地址空间、I/O地址空间和配置地址空间 pci设备与其它接口的设备(如i2c设备)最大的不同是存在内存地址空间和配置地址空间,本文分析一下它们的用途。 首先区分一下IO空间和内存空间 cpu会访问的设备...
  • 内存寻址:逻辑地址到物理地址的转化  在计算机里,内存地址分为虚拟内存地址和物理内存地址。... 以X86的32系统例,在32系统中,系统的虚拟内存地址范围为4GB。低2GB给应用程序(Ri...
  • gdb 如何调试内存地址

    千次阅读 2017-07-20 09:18:40
    样例代码 int age= 20; int *p_age = &age; NSLog(@"p_age = %p", ... //输出指针变量p_age指向值20所在内存地址 NSLog(@"&p_age = %p", &p_age); //输出指针变量p_age本身的地址 2017-07-19 15:54:07.048 Test07
  • 内存地址、存储单元、指针等计算机基础概念

    千次阅读 多人点赞 2019-09-25 20:27:28
    前言 从大一一直困惑到研三的这个概念今天静下心来总算是搞明白了,太开心太开心...答案当然是“地址”(address)了,你有居住地址,数据也有自己的地址,这个地址就是“内存地址”,如下一段程序: #include<s...
  • 内存地址的计算方法

    千次阅读 2017-10-25 16:00:00
    内存是按字节编址的,所以单位是字节哈,1字节可是等于8的。因为计算的范围一般比较小,所以就记住两个就够了。记住个常用的2的10次方为1024即1KB 2的20次方=(2的10次方)的平方,即1MB就行了 如果要求更大的,...
  • 在keil中看内存地址

    千次阅读 2018-06-16 20:52:40
    从上图可以看出当执行mov r3 #0x0010时,因为指令需要先加载进内存中,内存中发生如下变化1.当板子上电之后,第一步加载进内存的是中断向量表,但不是说0x000000000这块内存空间不可以使用了2.指令在内存中也是以...
  • Linux 64进程地址空间分布概况

    千次阅读 2020-11-05 18:38:16
    对于Linux 64系统,理论上,64bit内存地址可用空间为0x0000000000000000 ~ 0xFFFFFFFFFFFFFFFF(16十六进制数),这是个相当庞大的空间,Linux实际上只用了其中一小部分(256T)。 Linux64操作系统仅使用低47...
  • 内存容量、起始地址或结束地址的计算方法
  • 总线、内存和变量的相关知识 前言 本篇文章主要介绍单片机内部的总线和内存的一些关系及知识点, 一、32系统和64系统的区别 ...需注意的是8单片机不带表其地址总线是8。8的51单片机,其数据总线是8
  • 在这天新年里,除了忙着像大多数人一样走亲访友拜年,剩余的时间也没闲着,研究开发了另外一种对64程序进程进行注入dll的功能,今天给大家带来的是最近开发的新功能里面其中一个64位内存注入dll,也是属于64...
  • 在计算机中要访问存储区,都是通过地址来进行访问的,包括所有的外设(比如串口、内存、硬盘等),都对应有一个访问地址内存中的每一个字节对应唯一的一个地址,每一个地址代表一个字节

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 358,702
精华内容 143,480
关键字:

内存地址几位