(2024-2025-1)20241420《计算机基础与程序设计》第四周学习总结
学期(如2024-2025-1)20241420《计算机基础与程序设计》第四周学习总结
<班级链接>https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP/join?id=CfDJ8AOXHS93SCdEnLt5HW8VuxQ23KfVCDd17M92RURIJwdTBPMF7locrEwU_PbdKakofz0zTbJuc7KceG9Y6oQCShgfHFT19twYLe61kME6CedB920aZMY90TR1BJoIekMfCQXD2yhv5D-jTBrh3BU7q18
<作业要求链接>https://www.cnblogs.com/rocedu/p/9577842.html#WEEK04
教材学习内容总结
逻辑门是数字电路中的基本组件,用于基于输入信号的二进制值(0或1)产生输出信号。以下是六种基本的逻辑门及其工作原理:
1. 非门(NOT Gate):
功能:非门,也称为反相器,接收一个输入信号,如果输入是0,则输出1;如果输入是1,则输出0。
布尔表达式:X = \overline{A} 或 X = A'
真值表:
\begin{array}{|c|c|} \hline A & X \ \hline 0 & 1 \ 1 & 0 \ \hline \end{array}
2. 与门(AND Gate):
功能:与门接收两个输入信号,只有当两个输入都是1时,输出才是1。
布尔表达式:X = A \cdot B 或 X = AB
真值表:
\begin{array}{|c|c|c|} \hline A & B & X \ \hline 0 & 0 & 0 \ 0 & 1 & 0 \ 1 & 0 & 0 \ 1 & 1 & 1 \ \hline \end{array}
3. 或门(OR Gate):
功能:或门接收两个输入信号,如果至少有一个输入是1,则输出是1。
布尔表达式:X = A + B
真值表:
\begin{array}{|c|c|c|} \hline A & B & X \ \hline 0 & 0 & 0 \ 0 & 1 & 1 \ 1 & 0 & 1 \ 1 & 1 & 1 \ \hline \end{array}
4. 异或门(XOR Gate):
功能:异或门接收两个输入信号,当输入信号不同时,输出是1;当输入信号相同时,输出是0。
布尔表达式:X = A \oplus B
真值表:
\begin{array}{|c|c|c|} \hline A & B & X \ \hline 0 & 0 & 0 \ 0 & 1 & 1 \ 1 & 0 & 1 \ 1 & 1 & 0 \ \hline \end{array}
5. 与非门(NAND Gate):
功能:与非门是与门的反相版本,它接收两个输入信号,只有当两个输入都是1时,输出才是0,否则输出是1。
布尔表达式:X = \overline{A \cdot B} 或 X = (A \cdot B)'
真值表:
\begin{array}{|c|c|c|} \hline A & B & X \ \hline 0 & 0 & 1 \ 0 & 1 & 1 \ 1 & 0 & 1 \ 1 & 1 & 0 \ \hline \end{array}
6. 或非门(NOR Gate):
功能:或非门是或门的反相版本,它接收两个输入信号,只有当两个输入都是0时,输出才是1,否则输出是0。
布尔表达式:X = \overline{A + B} 或 X = (A + B)'
真值表:
\begin{array}{|c|c|c|} \hline A & B & X \ \hline 0 & 0 & 1 \ 0 & 1 & 0 \ 1 & 0 & 0 \ 1 & 1 & 0 \ \hline \end{array}
这些逻辑门是构建更复杂数字系统的基础,如计算机处理器、内存和各种电子设备。
一.冯.诺依曼结构的灵魂
早期的计算机设计中,程序和数据是俩个截然不同的概念,数据放在存储器中,而程序作为控制器的一部分,这样的计算机计算效率低,灵活性较差。冯.诺依曼结构中,将程序和数据一样看待,将程序编码为数据,然后与数据一同存放在存储器中,这样计算机就可以调用存储器中的程序来处理数据了。意味着,无论什么程序,最终都是会转换为数据的形式存储在存储器中,要执行相应的程序只需要从存储器中依次取出指令、执行,冯.诺依曼结构的灵魂所在正是这里:减少了硬件的连接,这种设计思想导致了硬件和软件的分离,即硬件设计和程序设计可以分开执行。
概括的来讲,冯.诺依曼结构消除了原始计算机体系中,只能依靠硬件控制程序的状况(程序作为控制器的一部分,作为硬件存在),将程序编码存储在存储器中,实现了可编程的计算机功能,实现了硬件设计和程序设计的分离,大大促进了计算机的发展。
灵魂就是将程序从硬件实现转换为软件实现(存储程序控制原理)。计算机的基本工作原理就是存储程序控制原理。
二.冯.诺依曼结构的核心设计思想
核心设计思想主要体现在如下三个方面:
程序、数据的最终形态都是二进制编码,程序和数据都是以二进制方式存储在存储器中的,二进制编码也是计算机能够所识别和执行的编码。(可执行二进制文件:.bin文件)
程序、数据和指令序列,都是事先存在主(内)存储器中,以便于计算机在工作时能够高速地从存储器中提取指令并加以分析和执行。
确定了计算机的五个基本组成部分:运算器、控制器、存储器、输入设备、输出设备
三.冯诺依曼结构的五个主要组成部分
冯.诺依曼确定了”计算机结构“中的5大部件:
运算器
控制器
存储器
输入设备
输出设备
现在看来,运算器和控制器单元集成在CPU中实现,存储器的容量不断扩大、输入输出设备不断更新,这些部件构成了当代计算机硬件系统的基本组成。
函数列表及其功能
第一部分
sqrt(x): 计算x的平方根,x应大于等于0
fabs(x): 计算x的绝对值
log(x): 计算ln x的值,x应大于0
log10(x): 计算lg x的值,x应大于0
第二部分
exp(x): 计算e^x的值
pow(x, y): 计算x^y的值
sin(x): 计算sin x的值,x为弧度值,而非角度值
cos(x): 计算cos x的值,x为弧度值,而非角度值
位运算概述
位运算是指进行二进制位的运算。
C语言提供的位运算符包括:&(按位与)、|(按位或)、^(异或)、~(取反)、<<(左移)、>>(右移)。
位运算符及其含义
&(按位与):对两个数据的每一位进行与运算。
0&0=0; 0&1=0; 1&0=0; 1&1=1
|(按位或):对两个数据的每一位进行或运算。
0|0=0; 0|1=1; 1|0=1; 1|1=1
^(异或):判断两个相应位的值是否不同,不同为1,相同为0。
0^0=0; 0^1=1; 1^0=1; 1^1=0
~(取反):对一个二进制数按位取反。
~0=1; ~1=0
<<(左移):将一个数的各二进制位全部左移若干位。
高位左移后溢出,舍弃不起作用。
左移1位相当于该数乘以2。
(右移):将一个数的各二进制位全部右移若干位。
右移1位相当于该数除以2。
移到末端的低位被舍弃。
代码调试中的问题和解决过程
- 问题:科学计数法的表示,函数调用,十六进制八进制表示
- 解决方案:查询Get笔记内容使用%e,函数表格以及进制表示