问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

为什么内存出问题了。电脑就黑屏。。。

发布网友 发布时间:2022-04-25 02:15

我来回答

3个回答

热心网友 时间:2023-08-14 07:44

内存是干吗使的?

储存数据用的!

CPU使计算和寻址用的,他每一个状态只能表示一个数。就是说,CPU只能记住当前运行时的几个数据(其实,CPU可以说,能记住更多的数据,不过,单位是K byte,就是寄存器和多级缓存,相比内存以M byte为单位,就太小了。具体就太复杂了。我们,就简化一下,认为这个CPU是一个被切除了海马区域的人(大脑的海马区域,主管人的深层记忆),他只能记住当前的几个数字)。那么,这个叫CPU 人如何帮助电脑使用者处理烦杂的计算任务呢?

他有一个好的数据管家兼数据仓库,就是内存!CPU把当前暂时不用的数据,就放到内存中,当下一次需要的时候——CPU每进行一次运算,就向内存询问一下,他下次运算需要从什么地方取得数据。得到内存提供的消息后,CPU就从该地址提取出这个值,以进行合适的运算,并把结果放到合适的内存地址去。

为了存取数据方便,内存就做成和32位CPU相匹配的样子,也是以byte为基本的单位。就是说,CPU一次可以把4个byte的数据写进内存,也能读取出去!

想象一下,这是这么样一个场面:

有着几乎无数个插孔的巨大长条行的插座,和一个有4个角的插头(以byte为单位来看),简直是随便乱插,都可以!^_^

「图略」

之所以,CPU能自由的找到数据,是因为,这4个G的内存,一个被编好了号!32位CPU的每一种状态,就代表一个具体的byte,也就决定了其具体的“位置”——相对于其他内存。

我一个int类型的数据,可以用来表示人的年龄,中国的铁路总长。在计算机中,我还可以用来表示其他数据的“地址”!你CPU是32个bit,4个byte,我一个int也是32个bit,4个byte,你能通过这个数据找到某一个地址,那么我一个int也能把这个地址值保存起来!

保存的地址值的int数据类型是啥东西!
指针!

对,就是大名鼎鼎的指针!C语言中最伟大的变量类型!

指针是干吗使的?

就表示其他数据的在内存中的存放位置!

所以,你不管是输出sizeof(int*)还是输出sizeof(char*),又或输出sizeof(short*),甚至输出sizeof(float*)、sizeof(double*),都只能得到一个数字——4!!因为,我在一个由32位CPU管理的内存中,我必须要,而且只需要4个字节的空间,才能准确的保存一个地址值!

好,我们简单写一个C程序,然后看看这将会发生些什么事情,在CPU和内存中!
int main()
{
int a = 1; //1
int b = 2; //2
int c; //3
c = a + b; //4
}

我们把这个程序用编译器编译一下,就得到一个exe文件,然后我们双击这个程序,出现啥?

对,啥都没有出现!

其实,出现了一个黑黑的框,然后很快就消失了,一般人不会注意到。我也不会注意到。

那么在这个短暂瞬间,发生了什么事情呢?

当然不是“请听下回分解!”,我们马上说!

这个程序,要求,在内存中,开辟一个4个byte的空间,然后把数字1,写进去;然后紧紧挨着他的地方,再开辟4个字节的空间,把2写进去。着分别就是我们的int变量a和b了。然后,又沿同一个方向,再开辟4个字节的空间,这就是我们的变量c了。为了使CPU听起来方便——CPU虽然使老美造的,可是他可不懂英语,他只懂数字!我们,分别把这三个变量的起始地址,叫地址0,地址4,地址8;

然后将有一个加法运算,CPU将怎么做呢?他按照,exe文件给他的信息,把地址0开始,向后3个字节,共4个字节的值,一下就提取出来了(这个插头和插座真合适!4对4),放在自己的寄存器中(我们可怜的、没有了脑海马的CPU只能记住当前的几个数字!)再从地址4开始,取了4个字节的值出来。然后,放一起,做加法!

好吧,我们回顾一下,小学的竖式加法:
1
+ 2
----------
3

可是,电脑只懂得二进制,不懂十进制(估计CPU只有两只手指,而人有10只手指,我们再次可怜一下CPU同志)。

所以,写成这样:
00000000 00000000 00000000 00000001
+ 00000000 00000000 00000000 00000010
---------------------------------------------
00000000 00000000 00000000 00000011

(好累啊,那可是30多个0啊!)

然后,它把这结果,再写进c所在的地址8以及后面的连续3个位置,共4个byte中。

从这个简单的例子中,我们可以看出两见事情:

“数据”和“函数”是分开存放的!

“函数”中的操作也可以用一连串的数字来表示。

解释一下第二点:CPU能直接运算的操作就几种而已,加减乘除。然后是辅助功能,取值,写值,完全可以用固定的序列来表示。而,内存只不过记录一下中间计算结果还有最后的计算结果。所以,在计算机看来,代码既数据,数据既代码。函数的代码,也需要实际的内存来存储,所以,“函数指针”也就出来了!

函数指针其实还是一个需要4个byte空间的变量,其中保存了某个函数的起始地址。利用函数指针调用不同的函数,你就可以轻易的干不同的事情,并把结果保存到内存中,当需要的时候,就利用适当的输出方式,把结果显示到合适的媒体上,比如显示屏,比如打印到一张纸上,或者转换成语音从喇叭中放出来。

然后,我们简单说说C中的数组。

有了前面的基础,我们可以很容易的认识到,数组不过是一群连续储存的同类型变量而已!

比如:
int array[4] = {1, 2, 3, 4};

其实,就是在内存中连续开辟4×4个byte的空间,分别把数值1、2、3、4的二进制形式写进合适的地址。然后访问的时候,只需要知道存储数组array最开始的地址,以及下标——表示你将对第几个数据进行操作就可以了!

比方,你接着写:
array[2] = array[0] + array[1];

就表示先从array起,从0-3地址,取出其中的值,再从4-7地址,取一个值;相加后,把结果写入8-11地址。

最后,我们回到《魔兽》中。前面说,要确定3维世界中的一个点(也就是一个游戏角色的位置),需要至少3个数字,用术语说,就是“坐标”!

那么,如此精细的地图,你至少得用int类型变量来确定具体的位置。那么,就一共是12个byte!然后,你若仔细看游戏中的角色——惨了,要描述的东西太多了,简直是一箩筐的数据!

现在知道为什么《魔兽》忒耗内存了吧!

热心网友 时间:2023-08-14 07:45

内存是电脑中的主要部件,它是相对于外存而言的。我们平常使用的程序,如Windows操作系统、打字软件、游戏软件等,一般都是安装在硬盘等外存上的,但仅此是不能使用其功能的,必须把它们调入内存中运行,才能真正使用其功能,我们平时输入一段文字,或玩一个游戏,其实都是在内存中进行的。通常我们把要永久保存的、大量的数据存储在外存上,而把一些临时的或少量的数据和程序放在内存上,当然内存的好坏会直接影响电脑的运行速度。

热心网友 时间:2023-08-14 07:45

电脑经常黑屏,莫名其妙关机,极大可能是内存条故障哦!

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...是4厘米、和7厘米,第三条边的长度可能是多少厘米? 一个三角形的一条边是四厘米另一条边是七厘米第三条边可能是 一个三角形的一条边是4厘米,另一条边是7厘米,第三条边可能是( ) A... ...3厘米,另一条边是7厘米,第三条边可能是( )厘米. A.3 B.4 C._百 ... ...三条边可能是( )厘米。 A. 4厘米 B. 3厘米 C.2厘米 d.1 2017款宝马730Li前刹车片的价格 宝马730刹车盘多少公里更换宝马7系刹车片多久换一次 宝马换完4轮刹车片怎么归零 宝马7系刹车盘多少公里更换? 如何将QQ炫舞里两人结婚的录像制成照片放在QQ空间里啊 内存条对电脑是否造成黑屏 内存条坏了会不会导致显示器黑屏 电脑因内存条问题开机黑屏? 麻辣烫牛奶底可以加香叶吗? 麻辣烫加纯牛奶可以吗 女孩子喜欢吃的麻辣烫,为什么一定要放牛奶一起煮? 牛奶麻辣烫属于哪种菜系?这种食物的做法难不难? 牛奶味的麻辣烫怎么做 牛奶麻辣烫怎么做,口感更佳,非常的美味可口? 如何用牛奶做出好吃的麻辣烫?这样做会更好吃吗? 牛奶麻辣烫的制作方法是什么? 牛奶麻辣烫怎么做和配方 是什么意思,的拼音怎么写,怎么读 如何标拼音? 拼音怎么念 <嗯 .>这个字的汉语拼音是什么? .的拼音怎么打??? .国旗的拼音怎么打? .用拼音怎么打 .的拼音是什么 电脑黑屏是不是内存条坏了 笔记本电脑内存坏了会黑屏吗 电脑老是开机黑屏,然后擦一下内存条就好了,这是什么情况,是内存条坏了吗? Word中怎么给段落添加目录? word怎么加入目录 怎么自己修复电脑呢? 在京东购物后东西被再投是怎么回事?我明明什么都没说。 京东在投是什么情况求大神解释下?理由居然是订单没有到齐! 怎样修改QQ安全电子邮件地址 为什么我在京东上买的东西返回站再投 在京东买东西已经到站了却说返回站点再投是什么意思? 怎样把QQ账号绑定的邮箱账号去掉或更换啊! 我从京东买的东西上面说返回调度在投是怎么回事 QQ密码保护的安全电子邮件地址忘了怎么改 京东快递,再投是什么意思啊?需要我再买一次吗的意思吗? 在京东买了东西显示第三方再投,再投原因:物货中转是什么意思啊 我在京东买的东西,他们给我用京东快递配送,查询快递号显示是第三方再投,这是什么意思啊?都好几天啦。 在京东买个充电器已经有配送员送着了结果出来订单再投是什么意思?也没人联系我 笔记本电脑的WIFI在哪找 java游戏服务器怎么实现热更新