一位半加法器,一位全加器,四位全加器

我们这里的加法器只考虑一位的情况。

当我们两个一位相加的话,那么就有两个输入,两个输出,两个输入很好理解,就是两个个位上的数字,0或者是1,那么为什么需要有有个输出呢?难道不是输出一个数就好了吗?因为如果两个数字都是1的话,那么就要考虑到进位的情况,所以这个时候就有了两个输出,一个是S,一个是C_out,其中的C_out就是表示输出的进位。那么这样的话就构成了一位的半加器。如下图:

这个就是一位的半加法器。那怎么写出这种情况来的呢?其实就是将所有的A,B的输入情况全部枚举出来,然后写出对应的所有的S和C的情况,根据A,B和S的关系,然后推断出其中要使用那种逻辑电路才能写出来,总之大部分的关系都是可以通过一个逻辑符号表示出来的,如果一个不可以的话,那就写两个,或者是更多

那为什么要引入全加法器呢?半加法器实现不了吗?原来半加法器只能实现个位的加减法,而十位,百位这些在中间的为主,如果低位有进位的话,那么就还需要一个出入的变量进行想加,所以得加入低位的进位C_in进行想加。那么这个时候有了三个输入的想加的变量,而一个半加法器只能同时进行两个数字的计算,这样的话就需要两个半加器进行计算就好了。我们可以将两个半加器的想加当做是两个阶段进行计算,第一个半加器的相加是旧相加,第二个半加器的相加是新相加,故而第一个半加器输出的C是C_旧,第二个半加器输出的是C_新。我们假设有一个十位上的A,B两个数字相加,然后有一个个位上的进位,C_in,那么首先,A,B先进行一个半加器的想加,输出的是一个十位上的数字,同时还有一个向高位的进位,C_旧,那么由于个位上的进位需要到十位上进行一个计算,所以第一次半加器计算的记过S需要和C-in进行第二次计算,计算出十位上的S和百位上的进位C-新,此时第二次算出来的S才是真正要计算出去的S,因为已经经过了所有十位上的计算,而百位上的进位,有两个,一个是C-旧,一个是C-新,这个时候要根据两个的值最后求出一个最后输出的C-out。实际上我们知道,如果一开始A,B进位的话,那么输入到第二个加法器中的S一定是0,因为最大就是两个1相加,故而第二个加法器中的C-新最大为1,即两个C不可能同时为1,即不能同时进位,故而C-旧和C新就只有三种情况(1,0)(0,1)(0,0)就只有这三种情况,而最后输出的C_out结果分别是他们两个数相加,为了避免再使用一次加法器,这个时候就需要用一个逻辑门来实现这个功能,显然使用逻辑或门是最好的,完全可以包括所有的情况,所以有了以下的电路。

那么有了一位的全加器,可不可以实现四位,八位甚至是更高位数上的想加呢?答案是可以的,但是这里只演示四位的全加器。

____________________________________________________________________________

其实减法也是同理,只不过是由进位变成了借位而已,也需要两个半减法电路去实现的,最终也是使用或门来连接的输出值,基本上和加法电路是一样的,不过需要注意的是,一次借位是2。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/221119.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

麒麟linux将图片批量生成PDF的方法

笔者手里有一批国产linu系统,目前开始用在日常的工作生产环境中,我这个老程序猿勉为其难的充当运维的或网管的角色。 国产linux系统常见的为麒麟Linux,统信UOS等,基本都是基于debian再开发的linux。 问题描述: wind…

28、卷积 - 卷积的基础公式

本节推导一下卷积的基础公式,还是先上一张卷积运算的示意图图。 我们知道,一张图片有 3 个维度,分别是长、宽、通道。 这三个维度分别用 3 个字母代替,分别是 H(Height, 对应的是长这一维度), W(Width, 对应的是宽这一维度),C(Channel,对应的是通道这一维度)。 对于…

unity学习笔记19

一、角色动画的使用练习 从资源商店导入的动画资源(Character Pack: Free Sample)中将资源中的角色创建在场景里,现在场景里存在的角色并没有任何动画。 在资源中找到Animations文件夹,在这个文件有很多模型文件(.FBX…

PYthon数据分析学前导语

文章目录 1.学习计划1.1 第一阶段:数据分析阶段1.2 第二阶段:可视化阶段1.3 第三阶段:项目实战阶段 2. 相关工具库的安装2.1.Pandas与Numpy的安装2.2 matplotlib, seaborn, Pyecharts的安装 1.学习计划 欢迎开始Python数据分析系列博客的学习…

Swift 如何实现自定义 Tab Bar

前言 每个 UI 设计师都喜欢美丽而有动画效果的 Tab Bar。然而,对于开发人员来说,实现这种设计可能是一场噩梦。当然,使用 Apple 的原生 Tab Bar 组件并专注于更有趣的事情,比如业务逻辑的实现,会更容易。但如果我们必…

Postman和Apifox针对不同环境、全局变量的使用与比较

文章目录 一、Postman1、配置环境和全局变量2、验证3、存在问题分析 二、Apifox1、配置环境和全局参数2、创建公共脚本3、测试 总结 一、Postman 1、配置环境和全局变量 在Postman的界面中,点击"Environment",添加我们需要的环境&#xff0c…

QML之动画的使用(含源码+注释)

文章目录 一、动画效果示例图二、个人理解三、源码总结 一、动画效果示例图 下图演示四组动画效果分别包含数值动画(单个方块、多个方块),顺序动画,并行动画等效果 二、个人理解 NumberAnimation:改变控件属性值的…

力扣题:字符的统计-12.4

力扣题-12.4 [力扣刷题攻略] Re:从零开始的力扣刷题生活 力扣题1:657. 机器人能否返回原点 解题思想:进行统计即可 class Solution(object):def judgeCircle(self, moves):""":type moves: str:rtype: bool""&qu…

解决vue ssr服务端渲染运行时报错:net::ERR_PROXY_CONNECTION_FAILED

现象: 从代码里找了半天也没有找到问题,但是由于ssr服务端渲染配置本身非常复杂,步骤又繁琐, 而且报错又很多,不知道哪里出了问题。 感觉是header或者cookie丢失造成的,因为据说ssr本身有这样的缺陷&…

深信服行为管理AC设置用户定时注销

PS:设置用户无流量注销及每天定时注销 AC版本:AC13.0.62.001 Build20221107 官方通告: 截止标准版本AC12.0.80和AC13.0.80,暂不支持指定周期时间内注销一次所有用户,仅支持每天的固定时间注销所有用户,每…

『亚马逊云科技产品测评』活动征文|基于亚马逊EC2云服务器安装Bolo开源博客

授权声明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 Developer Centre, 知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道 亚马逊EC2云服务器(Elastic Compute Cloud)是亚马…

通过keepalived+nginx实现 k8s apiserver节点高可用

一、环境准备 K8s 主机配置: 配置: 4Gib 内存/4vCPU/60G 硬盘 网络:机器相互可以通信 k8s 实验环境网络规划: podSubnet(pod 网段) 10.244.0.0/16 serviceSubnet(service 网段): 1…

nodejs+vue+ElementUi酒店餐饮客房点餐管理系统

系统非功能需求,只能是为了满足客户需求之外的非功能性要求。系统需要具有数据完整性验证的功能,对界面上非法的数据和不完整的数据进行提示,不能直接保存到数据库中,造成不完整性因素。运行软件:vscode 前端nodejsvueElementUi 语…

Linux 基础知识整理(三)

Linux文件和目录 Linux系统是一种典型的多用户系统,不同的用户有不一样的地位和权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。 root权限最高,可以通过ls -l 或…

【踩坑记录】apex包的安装

你是不是也遇到了ModuleNotFoundError: No module named ‘packaging‘ error: subprocess-exited-with-error错误? apex介绍 此存储库包含nvidia维护的实用程序,以简化Pytorch中的混合精度和分布式训练。 这里的一些代码最终将包含在上游Pytorch中。 A…

vue3里面生命周期的使用

前言: vue2里面的生命周期和vue3生命周期是非常的相似的,我们通过访问生命周期钩子来处理不同场景之间的应用。 生命周期钩子的函数定义:每一个Vue组件实例在创建时都需要经历一系列的初始化步骤,比如数据侦听,编译模…

算法学习系列(五):N皇后、数独

目录 引言一、N皇后问题代码实现测试 二、数独问题代码实现测试 引言 这个N皇后问题是很典型的一个递归问题,就是还是要掌握,所谓递归其实就是dfs,一层一层深入下去。数独和N皇后的思路是一样的,只不过一些细节不同而已。 一、N…

使用pyscenedetect进行视频场景切割

1. 简介 在视频剪辑有转场一词:一个视频场景转换到另一个视频场景,场景与场景之间的过渡或转换,就叫做转场。 本篇介绍一个强大的开源工具PySceneDetect,它是一款基于opencv的视频场景切换检测和分析工具,项目地址: h…

探秘 Sass 之路:掌握强大的 CSS 预处理器(上)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

uni-app 微信小程序之swiper轮播图

1. 实现效果 2. 完成代码 <template><view class"components-home"><view style"margin-top:-50rpx;height: 486rpx; position: relative;margin-bottom: 80rpx;"><image srchttps://xxx.com/img/wccQQP.png modewidthFix classpng …