当前课程知识点:计算思维导论 > 第三单元 > 3.3 二进制加法运算的机器化 > Video
大家好
这一节我们介绍二进制加法运算的机器化
面对一个简单的运算12+23=多少
我们从机器实现的输入输出的角度
讨论了数的表示问题
让我们明白了
为什么“弃十选二”
现在该讨论加法运算怎么做了
如果是手工运算
二进制加法运算难度就大加
因为他比十进制加法运算更简单
现在的问题是
二进制加法运算的机器化
也就是设计一个机器
让其自动进行加法运算
这是大家关心的核心问题
确切地说
就是这个图中
加法电路如何设计和如何实现
为此
我们先看看二进制加法运算的特点
手工做二进制计算真很容易
比如计算10110111加上10010010
从最低位开始
1加0等于1,1加1等于0
注意这里进位了
以此类推
最后得到的结果是101001001
您应该注意到
加法过程中
有时候有进位
有时候没有进位
其实没有进位
我们可以看做有进位
只是进位值为0而已
为了讨论方便
我们假定最低位的计算
也要考虑一个值为O的进位
这样一来
每一位的结果都是3个
二进制数字相加的和
最高位的进位丢失了
不考虑
对此,科学家们就这么想到
我们先设计一个器件
让它完成一个二进制位的加法运算
然后再考虑多位二进制数相加
根据前面的分析
一位二进制相加涉及3个二进制数字相加
并且产生和和进位
我们把完成
该计算的器件称之为全加器
用这么一个图来表示
我们知道3个二进制数值相加
总共只有8种可能的情况
注意图中红色数字表示进位
把这8种情况用表格的形式表示出来
就得到了全加器输入输出的真值表
从真值表中不难看出
有4种不同的输入
会导致输出端S为1
比如,当A=0,B=0,Ci=1时
S=1
对此从逻辑学的角度来说
可表示为S等于A非B非Ci
因此综合起来
可得到S的逻辑表达式
S等于A非B非 Ci
加上A非 B Ci非
加上A B非Ci非
加上ABCi
同理,我们可以得到C0的逻辑表达式
C0等于A非B Ci
加上A B非 Ci
加上AB Ci非
加上ABCi
对于三种基本的逻辑运算
人们设计了三种相应的门电路
这些基本门电路的实现很容易
在这儿不展开讨论
需要特别指出的是
有了这些基本门电路
通过组合的方式
就可以实现复杂的逻辑关系
比如
S等于A非B非Ci
我们可以用这样的逻辑电路来实现
有了这些
现在我们可以完成
全加器的设计了
根据前面的分析
全加器的输出端
可以用这样的逻辑关系来表示
那么 根据这两个逻辑关系
我们自然就可以画出
这样的逻辑电路来
尽管看起来有点点复杂
但道理都是一样的
需要说明的是
上述全加器的逻辑电路
可以简化
也就是说用异或门来实现
这就是简化后的逻辑关系和逻辑电路
至于简化的原理这里不做讨论
大家知道有这么回事就可以了
好 到此全加器就有了
利用全加器构造一个4位数的加法器
就变得很容易了
只要按这样的方式
把4个全加器串接在一起即可
注意最低位的进位让他悬空
表示进位为0
另外需要注意
右边是高位
左边是低位
知道了4位二进制数加法器的设置
8位、16位、32位道理都是一样的
这就是4位二进制数加法器的
另一种画法
到此
完成加法运算的机器就算设计成功了
读者进一步考问的是
那减法运算怎么办呢
乘法运算怎么办呢
除法运算怎么办呢
是不是需要设计专门的
减法器、乘法器和除法器
关于这些问题
我们下一节再介绍
好 这一节就到这里
谢谢大家
-1.1 计算思维及其教育
--Video
-2.1 计算是什么
--Video
-2.2 计算与自动计算
--Video
-2.3 计算机及其计算本质特征(I)
--Video
-2.4 计算机及计算的本质特征(II)
--Video
-3.1 数的表示与模拟计算
--Video
-3.2 数的表示与数字计算
--Video
-3.3 二进制加法运算的机器化
--Video
-3.4 “九九归一”的加法运算
--Video
-3.5 二进制之优越性及问题与代价
--Video
-4.1 从数学危机到图灵机
--Video
-4.2 图灵机的计算能力
--Video
-4.3 什么问题都能计算吗?
--Video
-4.4 冯•诺依曼机及其发展与演化
--Video
-4.5 从算盘到图灵机——机械计算的本质
--Video
-4.6 电子计算机——透过现象看本质
--Video
-5.1 思维可机械计算吗(I)
--Video
-5.2 思维可机械计算吗(II)
--Video
-6.1 量子理论
--Video
-6.2 量子计算机
--Video
-7.1 人类求解问题之过程
--Video
-7.2 基于计算(机)的问题求解过程
--Video
-7.3 面向过程的结构化设计方法学
--Video
-7.4 面向对象之方法学
--Video
-7.5 面向对象技术
--Video
-7.6 抽象
--Video
-7.7 计算学科中的抽象
--Video
-7.8 时间与空间及其相互转换
--Video
-7.9 技术层面的其他方法学
--Video
-7.10 认知层面的其他方法学
--Video
-8.1 算法与程序
--Video
-8.2 算法设计方法——枚举
--Video
-8.3 算法设计方法——递推
--Video
-8.4 算法设计方法——递归
--Video
-8.5 算法设计方法——分治
--Video
-8.6 算法设计方法——仿生
--Video
-9.1 机器间的通信方式
--Video
-9.2 数据转发方法
--Video
-9.3 网络分层体系结构
--Video
-9.4 有趣的对称加密技术
--Video
-9.5 难解的非对称加密技术
--Video
-9.6 数字签名及其应用
--Video
-9.7 从自然智能到人工智能
--Video
-9.8 符号主义的基本思想
--Video
-9.9 连接主义Ⅰ
--Video
-9.10 连接主义Ⅱ
--Video
-9.11 行为主义的基本思想
--Video
-9.12 机器翻译的愿景与困难
--Video
-9.13 峰回路转的自然语言处理
--Video
-9.14 信息传输中的问题与挑战
--Video
-9.15 重复传输与冗余编码
--Video
-9.16 校验与校验和
--Video
-9.18 自纠错技术及应用
--Video
-9.19 两种简单的数据压缩方法
--Video
-9.20 哈夫曼编码
--Video
-9.21 数据压缩极限与LZ压缩方法
--Video
-9.22 大海捞针的搜索引擎
--Video
-9.23 网页排序方法(PageRank)
--Video
-10.1 计算文化
--Video
-期末考试--作业