CODE学习笔记一——构建二进制加法器
code用了一定的篇幅写编码以及进制的内容(毕竟书名就叫code),这部分内容我可能兴趣缺缺吧,所以第一篇学习笔记便从加法器写起啦。
目录
- 目录
- 用继电器构造简单的逻辑门
- 一个继电器:
- 反向器(非)
- 与门和与非门
- 或门
- 异或
- 二进制半加器
- 二进制全加器
- 多位二进制数加法器
- 工业成品类比
- 多说几句
用继电器构造简单的逻辑门
相对于抽象的与或非,或者现在电路中的精巧原件,作者用线圈与电磁体构造的门形象的描述了一系列的门。作为学习笔记,应以简而明了为要,所以以下省略了作者的大量篇幅,或许会显得不够详细。
一个继电器:
一个电磁铁是两个电路有了关联,开关闭合,灯泡亮。
反向器(非)
与继电器极为相像,只不过开关闭合,灯泡灭。
与门和与非门
两个继电器右端电路的串联,当且仅当两个开关闭合,灯泡才亮。
抽象为与门如下
信号1代表开关闭合(高电平输入),信号0代表开关断开(低电平输入),与门列表:
AND | 0 | 1 |
---|---|---|
0 | 0 | 0 |
1 | 0 | 1 |
在与门的末尾(即灯泡与输出之间)加一个反向器,得到与非门NAND
或门
如果说与门是两个继电器的“串联”,那么或门则是“并联”
或门符号
或门列表
OR | 0 | 1 |
---|---|---|
0 | 0 | 1 |
1 | 1 | 1 |
在或门的末尾(即灯泡与输出之间)加一个反向器,得到或非门NOR
异或
在数理逻辑里,与、非或者或、非就是一个联结词的完备集了,通过其中任意一组既可以表示出所有的联结词。有了与或非,异或门将直接由它们组成。
异或门
XOR | 0 | 1 |
---|---|---|
0 | 0 | 1 |
1 | 1 | 0 |
二进制半加器
由于神奇的二进制“阳阳易数”,通过以上几个门来实现二进制的非进位加法就可行了。
先列出加和表
+ | 0 | 1 |
---|---|---|
0 | 0 | 1 |
1 | 1 | 0 |
妥妥的一个异或门。
再来个进位表
进位 | 0 | 1 |
---|---|---|
0 | 0 | 0 |
1 | 0 | 1 |
就是一个与门。
那么一位数的二进制半加器就大功告成啦!
(学到此处如果你和我一样迫不及待的想动手实践,那么你可以考虑考虑通过mc的红石电路来实现它们)
二进制全加器
加法如果在最低位自然不需要考虑进位,但是如果你想搭建一个多位数的加法器,那么输入端也就必须要有一个进位输入,这就是全加器。
比较容易想到的一个方法就是做两次加法,进位输入和第一次加法的结果进行再一次的加法,就可以得到一个完整的全加器啦。当然,第一次加法的结果包括了进位输出和加和输出,那么第二次加法自然也要处理好这两个事情。
这就组成了一个一位全加器,封装后如下:
多位二进制数加法器
有了二进制全加器,解决了进位问题,那么要构建多位数的加法器也就水到渠成了。
将全加器倒过来,每个全加器的进位输出连着下一位的进位输入,如此“并联”,既可以得到多位数的加法器了,下图构建的是一个八位加法器。
封装后如下
工业成品类比
(没有百度到行波进位加法器,凑合着看吧,大概就是这样的接口了/百度的图/)
多说几句
以上是由比较原始继电器构成的加法器,由于是行波进位,显然效率较低(后一位的加法必须要前一位的结果),书中还提到了一种前置进位电路的加法器,额,俺不会,看了头大,有时间再去了解吧。。。
另外如果没有晶体管,半导体,集成电路的出现,最后的一张图片显然是没有的,构建上述加法器仅仅是为了明白原理,至少面对着最后一个小部件的时候,不会一脸懵逼,知道原理并会使用总是比只知使用不知原理好的。。。
CODE学习笔记一——构建二进制加法器相关推荐
- 《VS Code 学习笔记 之 Open Live Server》
目录 VS Code 学习笔记 Open Live Server 代码分析 VS Code 学习笔记 Open Live Server Open Live Server : 开启 实时服务 代码分析 ...
- 学习笔记_使用二进制的方式修改图片
学习笔记_使用二进制的方式修改图片 1.学习目标 2.学习工具 3.开始操作 3.1 了解图片是怎样用二进制表示的 3.2 开始操作 4.参考文档 1.学习目标 掌握使用二进制的方式修改图片 了解BM ...
- alfs学习笔记-自动化构建lfs系统
一名linux爱好者,记录构建Linux From Scratch的过程 经博客园-骏马金龙前辈介绍,开始接触学习lfs,用博客记录学习笔记,如有写的不恰当的地方,望多多指正. 笔记中只是记录一些问题 ...
- 【学习笔记】构建小型金融知识图谱(github项目)
前言 需要构建农业知识图谱,先来学习一下构建知识图谱的基本流程和套路,熟悉过程方便 科研 后续工作的开展,写下此篇博客作为我的笔记吧~ 参考代码来源:github项目 jm199504/Financi ...
- carsim学习笔记4——构建路面
carsim的道路模型设置这里选择如下图所示: 1.X-Y coordinates of path(道路的x_y坐标) 条件选择如下所示: 这个道路是以x,y点构建的道路模型 这个道路模型求解后,动画 ...
- Android学习笔记---29_构建soap协议内容,发送xml数据和调用webservice,手机号码归属地查询器
29_发送xml数据和调用webservice ---------------------------------------- 1.发送xml数据给web应用 a.可以通过参数的方式:比如:ht ...
- Spark MLlib学习笔记:构建一个机器学习工作流
文章目录 一.任务描述 二.实现步骤 (一)引入包并构建训练数据集 (二)定义工作流阶段 (三)创建工作流,训练出模型 (四)构建测试数据集 (五)利用模型做预测 一.任务描述 查出所有包含" ...
- 荔枝派Zero学习笔记--系统构建篇
荔枝派系统搭建 系统构建 U-Boot移植 获取源码 配置编译 Linux 获取源码 配置编译 rootfs 获取源码 配置编译 制作TF卡启动盘 磁盘分区 系统构建 U-Boot Linux roo ...
- ElasticSearch学习笔记-索引构建
installation 在mac下安装可以直接使用brew来进行: brew install elasticsearch ## 基于界面的Front查询界面 可以安装chrome 浏览器中的elas ...
最新文章
- Microsoft Windows 10的LTSC 2019和Version 1809更新简单说明
- 2019春第十周作业
- MaxCompute 挑战使用SQL进行序列数据处理
- 请教 这段代码有问题吗
- ntext字段的REPLACE处理示例.sql
- axure后台示例_【Axure电商案例】如何设计和真的后台一样给客户看
- 笔记本打印机显示服务器脱机,打印机显示脱机状态怎么办 打印机显示脱机状态解决方法【详解】...
- 学iOS开发需要什么样的基础?
- DPU网络开发SDK——DPDK(二)
- http协议相关内容,C/S与B/S,ip报文,TCP,UDP
- React中文文档 8. 列表 Key
- Python 手把手教你爬取淘宝的笔记本电脑数据
- vue3 动态传值给子组件
- LinuxShell宝典
- MATLAB实现已知DH参数的正运动方程求解
- Faster R CNN
- Embedding原理到实战
- 理想汽车第三季度净亏损同比降近八成,研发投入不及销售费用
- 山东科技大学OJ题库 1097 	判断三角形的性质
- 从农夫过河问题理解顶点覆盖、团和独立集
热门文章
- UI控件之ToggleButton(开关按钮)和Switch(开关)
- 元宇宙遇到中国年,Wearable Dao“中国红”主题VOX作品征集
- FLUENT mesh画网格时候卡在mesh status
- linux x11vnc,X11vnc (简体中文)
- 怎么使用在线PS对图片换背景 如何快速抠图
- AMS1117-3.3V发热原因分析----输出口接上电源
- String 类型操作 16进制转10进制
- C# String.Format格式化
- windows7系统使用心得
- 阿里全员标配的指令集鼠标垫,我的粉丝每人包邮送一块!!!