restador de 4 bits utilizando el complemento de 2 de un sumador

0

Actualmente tengo problemas con mi acarreo para llevar a cabo.

He usado esto para mi LSB     asignar S = A ^ (~ B + 1) ^ Cin;
    asignar COUT = (A & ~ B) | ((CIN + 1) & (A ^ ~ B));

y esto para mis 3 bits más altos.     asigna S = A ^ ~ B ^ Cin;
    asignar Cout = (A & ~ B) | (Cin & (A ^ ~ B));

    
pregunta 21stCenturian

1 respuesta

0

RYus expresiones para bits individuales no deben usar el término "B + 1", que puede tener tres valores posibles (0,1,2) y requieren dos bits para expresarse.

Sus expresiones para los 4 bits del sumador deben ser las mismas:

Sn = An ^ ~ Bn ^ Cin; Coutn = (An & ~ Bn) | (Cin & (An ^ ~ Bn));

Donde 'n' representa el número de bit.

La Cin para todo el sumador debe configurarse en 1 para hacer la función de complemento + 1.

Pruebe este enfoque para pensarlo:

Olvídate de A por el momento. ¿Cómo crearías el complemento 2 de B con tu lógica?

Colocaría el complemento de B en las 4 líneas de entrada del sumador, luego, para agregar el 1, establecería el acarreo. Esto debería dar como resultado el complemento de B de B en la salida.

Ahora agregue A en los otros 4 pines de entrada. Debe obtener el A-B en la salida. La salida de acarreo se usa luego como un bit de estado de desbordamiento que le informa sobre la magnitud relativa de los dos operandos.

    
respondido por el Kevin White

Lea otras preguntas en las etiquetas