2022-2023-1 20221304 《计算机基础与程序设计》第四周学习总结
2022-2023-1 20221304 《计算机基础与程序设计》第四周学习总结
作业信息
班级:https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP
作业要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK04
作业目标:阅读《计算机科学概论》第四章、第五章并完成云班课测试,阅读《C语言程序设计》第三章并完成云班课测试
作业正文:https://www.cnblogs.com/liu-221304-yi-tong/p/16708572.html
教材学习内容总结
在《计算机科学概论》第四章中,我了解了基础的门以及各种门的行为、如何用晶体管实现门、如何用基础门组成电路、使用布尔表达式(或真值表,或逻辑框图)描述门或电路的行为,了解了半加器与全加器、多路复用器、S-R锁存器、四代集成电路。通过对《计算机科学概论》第五章的学习,我能看懂计算机广告,了解了一些计算机行话,学习了冯·诺伊曼机的部件及其功能,了解了执行-译解-执行周期、三种并行计算机的配置以及嵌入式系统的概念。
在《C语言程序设计》第三章中,我学会了如何用算术运算符和标准数学函数将数学表达式写成C表达式,知道了增1和减1运算符的前缀与后缀形式的区别,了解了宏常量与const常量,知道了赋值表达式中有时会用到的自动类型转换和强制类型转换。
教材学习中的问题和解决过程
-
问题1:C语言中的算术运算与数学中的算术运算有什么不同?
问题1解决方案:看书后,我知道了:C语言中算术运算的结果与参与运算的操作数类型相关。除法运算分为整数除法和浮点数除法:整数除法中,两个整数相处后的商仍为整数,若有小数部分,则小数部分被舍去;而浮点数除法中,会有小数。 -
问题2:左值、右值是什么?
问题2解决方案:经过查找资料得知,左值:可以放在赋值号左边的叫左值,可以被赋值,是一个地址(const变量是一个例外只能做右值)。右值:可以放在赋值号右边的 就是可以给其他变量赋值的,它可以是一个变量也可以是一个常量也可以是一个表达式,是一个内容。 -
问题3:德·摩根定律是如何推演出来的?
问题3解决方案:由图片可知A=1+2 ,B=2+3 ,c=4;非A=3+4,非B=1+4,A且B 是同时是A,也同时是B,所以A且B=2;A或B 既可以是A,也可以是B,所以A或B=1+2+3;所以非(A且B) =1+3+4,(非A) 或(非B) =3+4+1。得: 非(A且B) = (非A)或(非B)
同理可知 非(A或B) = (非A)且(非B)
-
问题4:加法器工作的原理是什么呢?
问题4解决方案:加法器是产生数的和的装置。加数和被加数为输入,和数与进位为输出的装置为半加器。若加数、被加数与低位的进位数为输入,而和数与进位为输出则为全加器。常用作计算机算术逻辑部件,执行逻辑操作、移位与指令调用。在电子学中,加法器是一种数位电路,其可进行数字的加法计算。 -
问题5:半加器与全加器分别是如何工作的?
问题5解决方案:经上网查询资料得知,以单位元的加法器来说,有两种基本的类型:半加器和全加器。半加器有两个输入和两个输出,输入可以标识为 A、B 或 X、Y,输出通常标识为合 S 和进制 C。A 和 B 经 XOR 运算后即为 S,经 AND 运算后即为 C。全加器引入了进制值的输入,以计算较大的数。为区分全加器的两个进制线,在输入端的记作 Ci 或 Cin,在输出端的则记作 Co 或 Cout。半加器简写为 H.A.,全加器简写为 F.A.。半加器:半加器的电路图半加器有两个二进制的输入,其将输入的值相加,并输出结果到和(Sum)和进制(Carry)。半加器虽能产生进制值,但半加器本身并不能处理进制值。全加器:全加器三个二进制的输入,其中一个是进制值的输入,所以全加器可以处理进制值。全加器可以用两个半加器组合而成。 -
问题6:S-R锁存器的工作原理是什么?
问题6解决方案:通过上网查询以及研读课本,我得知:
上图就是RS锁存器的结构。其中S和R为输入端,a和b为输出端,A使得a和R连接在同一个与非门,B使得b和S连接在同一个与非门。我们一般把a的值作为RS锁存器所保存的值。
①当S = 1,R = 0时,我们会发现,不管之前A和B的值是多少,总会有a = 0,b = 1。这是因为R = 0,使得不论A的值为多少,NOT(A AND R)必为1,故b和B必为1,于是NOT(S AND B)必 为0,即a必为0。此时,我们说RS锁存器存储的值为0,因为a的值就是0。
②同理,当S = 0,R = 1时,根据对称性,不管之前A和B的值是多少,必有a = 1,b = 0。这时我们说RS锁存器存储的值是1。
③S和R的值都为1时是一种比较特殊的情况。假设一开始S = 1,R = 0,然后我们让R的值变为1,S的值保持不变,这时我们会发现a和b的值是不变的。这是因为之前A的值已经为0了,即使R 的值变为1,NOT(A AND R)依然为1,于是整个电路就没有发生什么变化。所以,当RS锁存器从“S = 1,R = 0”的状态转移到“S = 1,R = 1”的状态时,RS锁存器存储的值不变。根据对称性,当RS锁存器从“S = 0,R = 1”的状态转移到“S = 1,R = 1”的状态时,RS锁存器存储的值也不变。
④S和R的值都为0的状态对于RS锁存器来说是没有意义的,所以我们一般认为RS锁存器只有上述三种状态。
所以,当我们设置S = 1,R = 0时,相当于把值0写入锁存器;当我们设置S = 0,R = 1时,相当于把值1写入锁存器。当S和R的值都变为1时,之前被写入锁存器的值依然被存储在锁存器中,就像是被锁住了一样。这就是RS锁存器的工作原理。
代码调试中的问题和解决过程
暂无
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 3000行 | 30篇 | 200小时 | |
第一周 | 50/50 | 2/2 | 15/15 | |
第二周 | 100/150 | 2/4 | 15/30 | |
第三周 | 150/350 | 3/7 | 20/50 | |
第四周 | 150/500 | 3/10 | 20/70 |
-
计划学习时间:20小时
-
实际学习时间:20小时