Programa en C++ para implementar el restador completo

Requisito previo: Subtractor completo
Dadas tres entradas de Subtractor completo A, B, Bin. La tarea es implementar el circuito Subtractor completo e Imprimir la diferencia de estados de salida (D) y Bout de tres entradas.

Introducción:
el restador completo se usa para restar tres números de 1 bit que son minuendo, sustraendo y préstamo, respectivamente. El restador completo tiene tres estados de entrada y dos estados de salida. Las dos salidas son diferencia y préstamo.

Aquí tenemos tres entradas A, B, Bin y dos salidas D, Bout. Y la tabla de verdad para el restador completo es 

Expresión lógica: 

Difference = (A XOR B) XOR Bin
Borrow Out = Ā Bin + Ā B + B Bin

Ejemplos –

     Entrada: 0 0 1
     Salida: Diferencia=1, B-Salida=1
     Explicación: De acuerdo con la expresión lógica Diferencia= (A XOR B) XOR Bin, es decir (0 XOR 0) XOR 1 =1,
      B-Salida=Â Bin + Â B + B Bin, es decir, 1 Y 1 + 1 Y 0 + 0 Y 1 = 1.

    Entrada: 1 0 1
    Salida: Diferencia=0, B-Salida=0

Acercarse :

  • Tomaremos tres entradas A, B, Bin.
  • Al aplicar (A XOR B) XOR Bin da el valor de la diferencia.
  • Al aplicar  Bin +  B + B Bin se obtiene el valor de B-Out.

C++

//c++ code for above approach
#include <bits/stdc++.h>
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<<endl;
    cout<<"B-Out = "<<B_Out<<endl;
   
  }
//Driver code
int main() {
    int A = 1;
    int B = 0;
    int Bin = 1;
    // calling the function
    Full_Subtractor(A, B, Bin);
    return 0;
}
Producción

Difference = 0
B-Out = 0

Publicación traducida automáticamente

Artículo escrito por anudeep23042002 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *