首先给大家分享一个巨牛巨牛的人工智能教程,是我无意中发现的。教程不仅零基础,通俗易懂,而且非常风趣幽默,还时不时有内涵段子,像看小说一样,哈哈~我正在学习中,觉得太牛了,所以分享给大家!点这里可以跳转到教程

了解了门,我们就可以做一些实际应用了,计算机的主要目的是计算,而门可以用于计算,所以可以说计算机是由各种不同的门组成。接下来我们要做的就是做一个二进制加法器,因为如果做出加法器,就可以扩展为减法,乘法,除法。而我们如何实现加法器呢?我们这次只使用一些很常见、并且有些落后的部件完成:开关、灯泡、导线、电池、门。

输入为开关,输出为一排灯泡,亮表示1,灭表示0。如果二进制串进行加法,我们肯定会想到一位一位进行加法运算,因此如果有8位二进制数,我们就要分8部运算。通过尝试可以知道,只有当输入为两个1时,进位位才为1,因此符合与门特性,而当输入为两个1或两个0时,加法位才会为0.这个符合异或特性。异或我们怎么用最基本的逻辑门表示呢?我们可以通过两个与非门,一个或门构成。这样就构成了一个半加器。

称为半加器的目的是因为我们没有考虑低位的进位问题,如果考虑了,我们就称为全加器。而全加器是由2个半加器和一个或门组成。

接下来我们谈谈一共要用多少个继电器:

进位位是与门,所以由2个继电器组成。

加法位是一个或门,一个与非门,一个与门组成,所以由6个继电器。

半加器由进位位和加法位组成,则有8个继电器。

全加器由两个半加器和一个或门组成,则有18个继电器。

我们有了全加器,则可以通过级联组成一个二进制串的加法。

但是现在计算机使用的是晶体管,所以需要将继电器换成晶体管。

我们前面实现了加法器,如同我们所说,减法是加法的扩展,所以实现了加法器,只需要稍作修改,就能实现减法,而减法最烦人的就是借位,因此我们就想是否有方法能够避免借位呢?
答案是有的,
(1)当被减数>减数时,设被减数为x,减数为y,假设x和y都是三位十进制数,只需要将x-y=x+(999-y)+1-1000,这个式子看起来很普通,但是就能避免借位问题。因为999-y不可能发生借位,其他的步骤也不可能。
(2)当被减数<减数时,x-y=-(999-(x+(999-y))),这样也能避免借位。
这里我们实现的是二进制的减法,所以类似于上面,
(1)当被减数>减数时,x-y=x+(111-y)+1-1000.
(2)当被减数<减数时,x-y=-(111-(x+(111-y))).
那么知道了方法,利用加法器我们怎么实现它呢?这里我们只实现了第一种情况.
我们把x+(11...1-y)+1-100...0分解开来看,
(1)先是a=11...1-y,这个实际上就是求反,即通过前面所说的反相器。
(2)b=x+(111...1-y)+1,这个只需要前面的加法器即可。
(3)b-100...0这个只需要把最高位忽略掉即可。因为被减数>减数时,最高位肯定为1。
如果我们不能单独做一个减法器,而是把加法器和减法器合并,该怎么做呢?
我们首先要有一个开关,是加法和减法的选择。如果是加法,则按照加法器方式做,如果是减法,则按减法器方式做。
我们设这个选择为x,减法为1,加法为0.把这个位与输入的每个位异或,如果是加法,则输入和输入不便,如果是减法,则输入与输出相反,即对2求补。这就实现了11...1-y的功能。
我们还要设最低进位y,如果是减法,则为1,如果是加法,则为0.这样就解决了x+1+(11...1-y).
我们设最高位为z,如果是加法,输出不变,如果是减法,则输出变为0.我们需要用异或门。即实现了x+(111...1-y)+1-1000..0。
这样我们就实现了减法器与加法器的合并。
接下来介绍几个术语:
(1)设数为x,则999-x为10的补数,则111-x为2的补数。
我们又有一个疑问,怎么表示减法呢?
很多人都知道有原码、反码、补码。
比如111在有符号数时表示的是-1.在无符号数表示的是+3.所以原本的二进制是没有任何含义的,只有给予他上下文,才会有含义。
我们还需要考虑的是有符号数相加时的溢出问题。如果比如011+010=101,原本的正数,变为了负数,因为他超出了补码所能表示的范围。

浏览人工智能教程

4 利用逻辑门实现加法器和减法器相关推荐

  1. c语言加法器程序代码,利用EDA设计加法器和减法器并且附有程序代码的实验报告...

    满意答案 q316281484 2013.12.31 采纳率:48%    等级:12 已帮助:35577人 library ieee; use ieee.std_logic_1164.all; us ...

  2. 从0到1构建计算机(3/12)--组合逻辑芯片:逻辑门、加法器、ALU

    上篇说到:通过使用Nand门,我们可以实现任何逻辑门,进而实现可以一个CPU.后面我们就会搭建一个麻雀虽小但五脏俱全的计算机平台:hack.本篇我们开始第一步,实现搭建hack所需的一组芯片:组合逻辑 ...

  3. vhdl加法器和减法器_半减法器和全减法器的设计

    vhdl加法器和减法器 A Subtractor is a digital circuit which performs subtraction operation. 减法器是执行减法运算的数字电路. ...

  4. 运放放大倍数计算公式_电源经典运放电路,加法器,减法器,同向放大器,反向放大器...

    运算放大器组成的电路五花八门,令人眼花瞭乱.工程师在分析它的工作原理时常抓不住核心,令人头大.为此小编特地搜罗天下运放电路之应用,来个"庖丁解牛",希望各位看完后有所收获. 遍观所 ...

  5. 两个运放制作加法器_运放基础第10讲,加法器、减法器、积分器、微分器、仪表放大器...

    运放基础第10讲,加法器.减法器.积分器.微分器.仪表放大器课程介绍 <运放第2部,运放电路设计实战基础视频> 课程介绍:<运放电路设计基础视频教程>的第一部分内容有三分之一到 ...

  6. 当前计算机最新的加法器,计算机基本原理—逻辑门与加法器

    世界上第一台计算机 认真读了之前一篇科普文章的读者会问:"为什么计算机的CPU主要由逻辑门组成?"恭喜你,这说明你不仅"学"而且"思"了.逻 ...

  7. 加法器(减法器)运算放大电路

        图三中,由虚短知: V- = V+ = 0 --a 由虚断及基尔霍夫定律知,通过R2与R1的电流之和等于通过R3的电流, 故 (V1 – V-)/R1 + (V2 – V-)/R2 = (Vo ...

  8. 加法器与减法器verilog

    文章目录 无符号加法器 有符号加法器 有符号减法器 加减法器 TB Reference 减法器中也有类似于半减器.全减器.串行借位减法器之类的,但是为了实现简单和复用代码,计划采用加法器来实现减法器. ...

  9. 【Verilog】加法器减法器的设计

    一.要求 用16位的加法器设计一个加法器,减法器.当sub为1时,是减法:当sub为0时是加法. 二.原理 当sub为1的时候: 第一个加法器的进位输入为1,经过异或门,将b和sub按位取异或其实是将 ...

最新文章

  1. JavaScript关键字this指向
  2. 公开课报名 | 深入浅出理解A3C强化学习
  3. 基于Struts2的供求信息网设计(三)
  4. SpringCloud 从菜鸟到大牛之七 服务网关 Zuul API网关等等
  5. “百度云手机”旗舰版发布,堪比旗舰真机?只需77元/月!
  6. 分享Qt的面试题目(或许未来的我能用的上呢)_vortex_新浪博客
  7. centos7配置时间同步服务器
  8. html当当书网站 html网上在线书城 html在线小说书籍网页 当当书城网页设计
  9. CV LRO mission (LROC introduction)
  10. PS 打开黑屏怎么办?
  11. MarkDown在VSCode环境下使用
  12. 拓扑图绘制工具开源_3个用于绘制家谱的开源家谱工具
  13. 如何在“一周内”摸清一个行业
  14. java AES文件流加密
  15. Linkerd实战(2)示例详解
  16. 安装mathpix注册不了账户:unexcepted error
  17. 2021年总结 2022年展望
  18. 扇贝编程python无法退款_扇贝编程python学习笔记-基础篇1
  19. 程序的可重用性的概念_可重用的Web应用程序策略:在多个位置运行同一应用程序的三种模式
  20. Java实战小游戏《flapper Bird》完整版,含源码

热门文章

  1. Flash 第十章 补间动画复习和引导动画
  2. 引入字体图标的三种方式
  3. 拦截android应用卸载的问题
  4. 勘智K210人头人形模型操作步骤
  5. 编写javascript_编写javascript和打字稿时的一些最佳快捷方式
  6. 工具---《.264视频 转成 MP4视频》
  7. c语言指针的应用实验七,C语言实验程序总结实验七指针.doc
  8. 【预测模型-ELM预测】基于原子搜索算法优化极限学习机预测matlab代码
  9. R如何正确动态创建变量名,解决target of assignment expands to non-language object
  10. 如何学习C++(转自开复学生网)