实现全减法器的C++程序
先决条件:全减法器
给定全减器 A、B、Bin 的三个输入。任务是实现全减法器电路和打印输出状态差 (D) 和三个输入的 Bout。
介绍 :
全减法器用于减去三个 1 位数字,分别是被减数、减数和借位。全减法器具有三个输入状态和两个输出状态。两个输出是差值和借位。
这里我们有三个输入 A、B、Bin 和两个输出 D、Bout。全减器的真值表是
逻辑表达式:
Difference = (A XOR B) XOR Bin
Borrow Out = Ā Bin + Ā B + B Bin
例子 -
Input : 0 0 1
Output : Difference=1, B-Out=1
Explanation : According to logical expression Difference= (A XOR B) XOR Bin i.e (0 XOR 0) XOR 1 =1 ,
B-Out=Ā Bin + Ā B + B Bin i.e. 1AND 1 + 1 AND 0 + 0 AND 1 = 1.
Input : 1 0 1
Output : Difference=0, B-Out=0
方法 :
- 我们将采用三个输入 A、B、Bin。
- 通过应用 (A XOR B) XOR Bin 给出差异值。
- 通过应用 Ā Bin + Ā B + B Bin 给出 B-Out 的值。
C++
//c++ code for above approach
#include
using namespace std;
//function to print difference and borrow out
void Full_Subtractor(int A,int B,int Bin){
// Calculating value of Difference
int Difference = (A ^ B) ^ Bin;
//calculating NOT value of a
int A1 = not(A);
//Calculating value of B-Out
int B_Out = A1 & Bin | A1 & B | B & Bin;
//printing the values
cout<<"Difference = "<
输出
Difference = 0
B-Out = 0