作业信息
https://edu.cnblogs.com/campus/besti/2020-2021-1fois
https://www.cnblogs.com/rocedu/p/9577842.html#WEEK04
教材学习内容总结
门和电路
非门
对输入的信号求逆,输入1则输出0,输入0则输出1
X=A'
与门
当输入的两个信号都为1时,输出1,否则输出0
X=A*B
或门
当输入的两个信号至少一个为1时,输出1,否则输出0
X=A+B
异或门
当输入的两个信号相同时,输出0,不同则输出1,当两个信号都为1时输出与或门相反
X=A⊕B
与非门
对与门的输出信号求逆
X=(A*B)'
或非门
对或门的输出信号求逆
X=(A+B)'
门可以接受更多的数值,不止两个,但基本逻辑不变。
门的构造
晶体管:由半导体构成的作为导线或电阻器的设备。
门由晶体管构成。
由Vin,Vout,接地线构成。当接地线联通时,输出低电平,否则输出高电平。非门由一个晶体管构成,与非门由两个晶体管串联,或非门则是两晶体管分别与源极相连,结合电学的知识可以推算输出的电平
电路
组合电路:进行多种门的运算,一个门的输出可作为另一个门的输入,一个信号可同时输入多个门。
电路等价:电路不同,得到的结果可能相同,得到逻辑门运算的数学法则。补性质:A(A')=0,A+(A')=1.德摩根:(AB)=A'OR B',(A+B)'=A'B'
电路组合成半加器,加法器,多路复用器,存储电路
半加器:计算两数位的和并生存正确的进位。和=A⊕B,进位=AB。加法器:对二进制执行加法。全加器:计算和并考虑进位。
多路复用器:由几条控制线路来决定输入线路,每条控制线可以输入0或1两个数,n条线路就可以控制2的次方个输入线路
存储电路:控制好输入输出值,就可以存储0和1。S-R锁储存器,两个与非门,一个门的输出值作为另一个门的输入值,另一个门的输出值又反过来作为第一个门的输入值。
集成电路和CPU:由非常多的门组成,有很多的引脚,进行二进制复杂运算
计算部件
冯诺依曼体系结构:存放数据和指令的内存单元;对数据执行算术和逻辑运算的算术/逻辑单元;把数据从外部世界转移到计算机中的输入单元;把结果从计算机内部转移到外部世界的输出单元;确保其他部件参与的控制单元
内存
存放1或0,内存为存储单元的集合,且字节具有可编址性
寄存器:用于存放很快会再被用到的数据(中间值或特殊数据),比访问内存快,属于CPU,
中央处理器:指令寄存器:存放正在执行的指令;程序计数器:存放下一条要执行的指令的地址
总线:携带地址,数据和控制信息。总线带宽:能同时传输的位数
缓存:用于存放经常使用的数据的小容量内存。流水线:将指令分解为可重叠执行的小步骤
读取-执行周期:主存-读取指令-译解指令-寄存器-获取数据-执行指令-主存
RAM:每个存储单元都可直接访问的内存,可改变的。ROM:内容不可变,存储计算机启动自身需要的指令
触摸:同时是输入设备和输出设备
嵌入式系统:未完成小范围功能而专门设计的计算机,程序储存在ROM中。经常使用在电子手表,微波炉,录像机,汽车等上
并行计算:多处理器
位级:增加字长减少处理比字长更长的数值所需操作
指令集:程序中的某些指令能够独立进行,对不同处理器发送不同的指令
数据级:不同操作数集执行相同操作。多处理器将同一个程序应用于多个数据级
任务级:流水线操作,每个处理器负责一个阶段的工作。共享内存并行处理器:不同处理器处理不同数据集,之间通过共享内存进行通信
看漫画学Python
运算符
算术运算符
一元算术运算符:+号和—号,+a=a,-a是对a取反运算
二原算术运算符:
比较运算符:比较大小,结果为布尔类型(Ture)和(False)
逻辑运算符:结果也是布尔型
位运算符:以二进位为单位进行运算,操作和结果都是整数类型
赋值运算符:只有算术运算和位运算中的二元运算符才有赋值运算符
运算符的优先级:从上到下优先级依次降低
教材学习过程中遇到的问题
问题一:不是很懂半加器,全加器,加法器。
解决过程:反复读书上的描述流程,自己计算列出真值表,明白了半加器的法则,但是半加器只有两个输入,只能计算两个数位的和,再加上一个半加器即可再进行一次加法,就可计算进位输入,而需计算多位二进制,计算n位就需要n个全加器
代码调试过程中的问题
编写base64时,直接使用base64.b64encode()无法编码和解码中文
解决方案:询问同学,查找博客园中相关资料,知道了另外一种编码方法,用到了str函数,成功解决了无法编码中文的问题。
比较字符串大小时,不明白它的比较依据什么
解决方法:后经过上网查询,得知字符串的比较大小规则:比较的时候,从字符串左边开始,依次比较每个字符,直至出现差异、或者其中一个串结束为止。而首字符大小由ASCLL码大小定的。
代码托管
其他
计算机内部挺神奇的
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000 | 30篇 | 400小时 | |
第一周 | 200/200 | 2/2 | 20/20 | |
第二周 | 300/500 | 2/4 | 18/38 | |
第三周 | 500/1000 | 1/5 | 22/60 | |
第四周 | 300/1300 | 1/6 | 30/90 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人