- 博客(14)
- 收藏
- 关注
原创 操作系统启动流程
本文概述了操作系统启动流程中的关键概念:BIOS作为基本输入输出系统,负责硬件自检并将MBR(主引导记录)调入内存。MBR包含446字节的主引导程序和64字节的硬盘分区表,通过检索分区表找到活动分区。磁盘物理划分为扇区,逻辑上组织为分区(如C盘)。系统分区存储操作系统,活动分区的引导记录(PBR)被加载以启动操作系统。这些概念构成了操作系统启动的基本框架,是计算机专业考试的重点内容。
2025-06-02 15:57:14
247
原创 计算机组成原理中断篇
有大佬能够详细的讲解一下:中断排队器,中断优先级,中断屏蔽字这三者之间的区别和联系吗?在做题的时候涉及到这三个问题的时候,感觉不太能够分的清楚,不要书上的回答,我要的是该如何理解。
2025-04-10 14:45:02
335
原创 如何计算Tag的位数
现在我的问题是:现在知道了Cache的地址位数是17位,因此主存的低17位表示的是Cache地址,因此前面的11位是Tag标记位,为什么这种做法是错误的呢?但是现在有一个问题的是:通过Cache的容量128KB,我们可以得知Cache的地址位数应该是17位,因为128=如果你对主存地址中的后多少位表示的Cache的地址有疑问,我们可以看接下来这道题目。你会发现它的求法,就是利用了Cache的地址位数是主存的低多少位。
2025-03-22 14:54:58
193
原创 补码移位的疑问?
同时为什么1000左移后变成0000,它叫做数值超出了范围呢?这又是如何超出了范围呢?补码的1110也不等于-6啊 这里我们不考虑它的这个错误,我们考虑的是为什么从+7变为负数就是叫做溢出了呢?如果移位后的数没有超出当前位数所能够表示的数的范围,只是改变了大小,或者正负号。溢出:超出了当前位数所能够表示的数的范围;(课本上大致的定义就是这样,也就是我和我后面疑惑之一);如果按照上面溢出的定义:这个图片里面给的最后一条完全不构成溢出的条件;我似乎在哪里看见过这么一句话:只有补码的算术左移才可能产生溢出。
2025-03-11 16:28:45
171
原创 关于缓冲区中换行符的处理
当我们使用scanf函数来给变量赋值的时候,我们从键盘中输入的内容都是先储存到缓冲区,当执行scanf函数的时候就从缓冲区拿对应的所需要的字符。也就是讲如果我们在输入字符的时候,但是没有按enter那么程序就不会往下走,因为在缓冲区中对于要赋值的数据来说如果没有enter的话就不会取,换行符的作用就是清空该换行符之前的字符。如果前面的输入中留下了一个enter所带来的换行符,遇见了下行还有要求输入字符的话,那么这个换行字符就会被获取了,这个特点会很大程度上导致我们的程序达不到所期待的效果。
2024-05-09 22:37:06
393
1
原创 【无标题】
了解完这些内容我们来看今天的问题:对于第一张图片来说:数组显然是放到全局区的:虽然说当函数结束之前已经返回了数组a的地址,但是在主函数中要用使用自定义函数的返回值(地址);这个地方储存的就是全局变量和静态变量的值;这个的特点就是如果函数不结束的话,这个内存就不会被释放就会一直的储存;的地方:这个地方的特点就是,你开辟的地址,如果你自己不给它释放不管函数是否结束,这个内存会一直在那里,除非你用函数free()给其释放。②:动态分配地址:如malloc函数等,这个分配的地址都是分配的是内存中叫做。
2024-04-24 20:34:58
233
原创 计算数组中元素个数的方法
①:字符数组:对于a[2]={'a','c'}这种类型来说因为不知道字符数组后面第几个位置有NULL,因此所求得的字符长度也是不固定的。如果数组是a[3]={'a','c'}这种初始化的话,也是求得这个数组的长度,但是不是求得有效字符得个数,因为一般来说不会使用a[3](NULL)这个。像这个这个字符数组的长度是2,但是因为定义的数组长度为3,实际初始化的时候值初始化了a[0],a[1],因此系统会自动的给a[2]=NULL。(1):数组名a只有在a单独这种情况下代表的是数组首元素的地址。
2024-04-19 18:37:06
1962
原创 浅谈如何求kmp算法中next数组值
在这里可知道第三个元素不相同:如果让机器来比较的话又要让主串的第二个元素跟子串的第一个元素比较一次:但是如果让我们人来看的话很明显可以知道两者是不相同的,我们只需要从子串的第一个元素跟主串的第三个元素相比较就行了。假如我们上面的主串中第一个元素为b,那么我们比较的时候会发现主串和字串的第一个元素不相同了,那么我们就需要把主串中的第二个元素跟第一个元素先比较,如果还不同的话,我们需要让主串的第三个元素跟字串第一元素比较,依次类推........。比较的两种不同情况的操作就按照上面所说的循环实现就行了。
2024-03-26 20:10:09
745
原创 深入理解线性表两种储存结构的定义
所以接下来我们讨论:分别在这两种情况下的顺序储存和链式储存(用数据结构的方法书写)。如果不以教材上面的这种方法建立含多个元素的线性表:直接在线性表里面含多个元素。顺序储存:要储存多个不同含义的数据元素,那么需要额外再建立一个结构体。②:数据对象含有多种不同的数据类型在里面(链表);①:数据对象只含有一种数据类型在里面(数组);具有相同属性的数据对象的集合;
2024-03-17 22:31:41
637
1
原创 getchar更深一点的理解
如果能够确定会输入N个数字,可以把[储存到另一个char类型变量里面,中间的数字可以用循环来把其一个个储存到数组里面。同时把]储存就行了。这个题看完之后,最大的难题在于,输入的数字有多少个无法确定,因此这个题也没有办法用数组来组。因此不能用假设的方法来做,而是用getchar函数来解决。
2024-03-06 20:14:45
234
1
原创 LEETCODE TWO SUM QUESTIONS
①:在力扣上为什么数组长度都不确定也可以这样写②:returnSize 在这里面的作用是?③:函数的定义是返回一个什么整型呢?
2024-03-02 21:28:00
190
1
原创 题目中有关如何判断输入结束的问题
这段代码是一个C语言程序的主函数,它的主要功能是读取一个包含整数的数组,并统计数组中有多少个元素既大于其他元素又小于其他元素。判断一个数是否有严格最小元素和严格最大元素,是指在数组中有大于该数的值和小于该数的值。中同时至少具有一个严格较小元素和一个严格较大元素的元素数目的整数结果。中同时至少具有一个严格较小元素和一个严格较大元素的元素数目。中同时存在一个严格较小元素和一个严格较大元素。输入一个整数数组(list):严格较小元素是元素。,严格较大元素是元素。:严格较小元素是元素。,严格较大元素是元素。
2024-03-02 16:46:56
152
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人