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

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

当我们两个一位相加的话,那么就有两个输入,两个输出,两个输入很好理解,就是两个个位上的数字,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。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【3】PyQt文本和图片

1. 文本控件 文本控件是QLabel from PyQt5.QtWidgets import QWidget, QApplication, QLabel import sys# 1.创建应用程序 app QApplication(sys.argv)# 2.创建窗口 w QWidget()# 修改窗口标题 w.setWindowTitle(文本展示)# ---------------------------------------------…

【Trino权威指南(第二版)】Trino介绍:trino解决大数带来的问题

文章目录 一. 大数据带来的问题二. Trino来救场1. 为性能和规模而生2. SQL-on-Anything3. 数据存储与查询计算资源分离 三. Trino使用场景 一. 大数据带来的问题 数据现状 数据存储机制日益多样:关系型数据库、NoSQL数据库、文档数据库、键值存储和对象存储系统等。…

uniapp 云打包 生成安卓证书文件

现在使用uniapp来开发小程序,H5,APP越来越多了,目前开发了一款APP,使用的也是uniapp。在此记录下用uniapp开发app云打包时约到的一些问题吧。 前因是我司安卓同学休产假,像云打包时需要的证书文件只能自己动手来搞。看…

算法-贪心思想

贪心的思想非常不好解释,而且越使用权威的语言解释越难懂。而且做题的时候根据自己的理解可能直接做出来,但是非要解释一下怎么使用的贪心的话,就懵圈了。一般来说,贪心的题目没有固定的套路,一题一样,不过…

了解应用层的HTTP协议与HTTPS协议,在常规请求的应用中Get与Post的区别

一、HTTP协议 1、http协议的特性2、http协议的请求 请求行 GET请求POST 请求(人脸识别方案)两个请求的区别本质区别: (1)url 携带的参数是否可见:(2)参数传递方式(3)缓存性&#xf…

【Maven】清理 maven 仓库

初始情况下,我们的本地仓库是没有任何jar包的,此时会从私服去下载(如果没有配置,就直接从中央仓库去下载)。 可能由于网络的原因,jar包下载不完全,这些不完整的jar包都是以lastUpdated结尾。此…

JVM arthas下载工具

工具下载地址 链接:https://pan.baidu.com/s/1qkn9HabhuwTiwbKVQ7BXnA?pwdv5ww 提取码:v5ww 启动语句 java -jar arthas-boot.jar输入你的线程,这里是2 dashboardJVM优化 堆的初始大小 最大大小 年轻代的大小 线程栈大小 新生代、伊甸…

娱乐类直播平台

娱乐类直播是一种以娱乐为主要内容的直播形式,包括音乐、舞蹈、游戏、搞笑、访谈等。这种直播形式通常由主播在平台上进行表演,吸引观众的关注和互动。 在娱乐类直播中,主播通常会通过展示自己的才艺、技能或者与观众进行互动来吸引关注。一…

vue-cli创建项目运行报错this[kHandle] = new _Hash(algorithm, xofLen);(完美解决)

1:问题出现的原因 出现这个问题是node.js 的版本问题,因为 node.js V17开始版本中发布的是OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响。故此以前的项目在使用 nodejs V17以上版本后会报错。…

flask web学习之flask与http(一)

文章目录 一、请求响应循环二、HTTP请求1. 请求报文2. request对象3. 在flask中处理请求3.1 路由匹配3.2 设置监听的http方法3.3 URL处理 三、请求钩子 一、请求响应循环 每一个web应用都包含这种处理方式,请求-响应循环:客户端发出请求,服务…

rvos 3编译与链接

做下面的两个练习需要: 在vmvb上装一个ubuntu会gcc、vi的基本使用 用vi写一个hello.cgcc -o hello.creadelf -h hello.oreadelf -S hello.oobjdump -S hello.o 用vi编辑一个test.cgcc -c test.creadelf -S test.o.text:代码 .data:初始化的全局变量和静态变量…

MYSQL练题笔记-高级查询和连接-连续出现的数字

一、题目相关内容 1)相关的表和题目 2)帮助理解题目的示例,提供返回结果的格式 二、自己初步的理解 其实这一部分的题目很简单,但是没啥思路啊,怎么想都想不通,还是看题解吧,中等题就是中等题…

openEuler 22.03 升级openssh9.5

yum安装编译依赖的组件 yum install -y rpm-build gcc gcc-c glibc glibc-devel openssl-devel openssl pcre-devel zlib zlib-devel make wget krb5-devel pam-devel libX11-devel libXt-devel initscripts libXt-devel gtk2-devel lrzsz建立编译目录 mkdir -pv /root/rpm…

分布式ID服务实践

背景 分布式场景下需要一个全局 ID 来标识唯一性,比如在单数据库时通过表唯一主键即可实现唯一 ID,分库分表时就需要全局唯一 ID。 业务对唯一 ID 的要求如下: 全局唯一性 不能出现重复的 ID 号,既然是唯一标识,这…

Kubernetes(K8s)安全认证-10

安全认证 访问控制概述 Kubernetes作为一个分布式集群的管理工具,保证集群的安全性是其一个重要的任务。所谓的安全性其实就是保证对Kubernetes的各种客户端进行认证和鉴权操作。 客户端 在Kubernetes集群中,客户端通常有两类: User Acco…

线程池,及7大参数,4大拒绝策略详解

线程池,及7大参数,4大拒绝策略详解 1. 前言 1.1 什么是线程池? 线程池是一种利用池化技术思想来实现的线程管理技术,主要是为了复用线程、便利地管理线程和任务、并将线程的创建和任务的执行解耦开来。我们可以创建线程池来复用…

【4】密评-网络和通信安全测评

0x01 依据 GB/T 39786 -2021《 信息安全技术 信息系统密码应用基本要求》针对等保三级系统要求: 网络和通信层面: a)应采用密码技术对通信实体进行身份鉴别,保证通信实体身份的真实性; b)宜采用密码…

【数电笔记】07-基本和复合逻辑运算

目录 说明: 基本逻辑运算 1. 与运算 (and gate) 2. 或运算 (or gate) 3. 非运算 (not gate ) 复合逻辑运算 1. 与非运算(nand) 2. 或非运算(nor&…

用 taichi 写个软渲染器

用 taichi 写个软渲染器 What 起点是:可以 setup 一个画布,drawPixel(x, y, color),然后渲染到 GUI 或者 .png目标是:加载 obj 模型文件和 .tga 贴图文件,并渲染出来使用 taichi 作为 SIMD 加速 backend复现一些 RTR…

leetcode:统计感冒序列的数目【数学题:组合数含逆元模版】

1. 题目截图 2.题目分析 需要把其分为多个段进行填充 长为k的段,从两端往中间填充的方案数有2 ** (k - 1)种 组合数就是选哪几个数填哪几个段即可 3.组合数含逆元模版 MOD 1_000_000_007 MX 100_000# 组合数模板 fac [0] * MX fac[0] 1 for i in range(1, MX…