Resta usando un circuito sumador

2

Necesito ayuda realmente básica aquí. ¿Puedo usar un chip sumador de 4 bits como un restador utilizando el complemento de 2 para el número que se va a restar?

    
pregunta ubuntu_noob

2 respuestas

13

En el complemento de 2, la negación se puede lograr invirtiendo un número y agregando uno (es decir, -A = ~ A + 1). Para restar un número B de A , invierta B , agregue 1 y luego agregue esa suma a A .

A - B = A + ~B + 1

Para transformar un IC de sumador normal en un sustractor, debe invertir el segundo operando ( B ) y agregar 1 (estableciendo Cin = 1). Se puede lograr un restador Adder utilizando los siguientes circuitos.

Tenga en cuenta que cuando la señal de control SUB es baja,

A = A
B = B
Cin = 0

Por lo tanto, la suma calculada será A + B + SUB = A + B .

Pero si SUB = 1

A = A
B = ~B
Cin = 1

Lo que significa que la suma calculada ahora será A + ~B + SUB = A + ~B + 1 = A - B , por lo tanto, logrando la resta.

    
respondido por el KillaKem
0

Por supuesto que puede hacerlo, a un costo de un poco por firmar

Para un chip de 4 bits, puede almacenar un número sin firmar de 0 a +15 y un número firmado de -8 a +7 por el complemento de 2.

Para la resta, por supuesto, debe hacer un cálculo firmado con el primer bit que indica el signo y el resto de los bits, el valor.

Entonces, 5-2 es en realidad 5 + (-2) con representación binaria de

  • 5 = > 0101
  • -2 = > 1110 (el primer bit es 1 para el negativo y el resto es el cambio de bits de 2 más el complemento de uno por el 2. Así que 2 = 010, -2 = 101 + 1 = 110)

Agregando lo anterior en los rendimientos binarios 0011 que se traducen en +3

Otro ejemplo es 2-3

  • 2 = > 0010
  • -3 = > 1101

2 + (-3) = 0010 + 1101 = 1111

Para traducir 1111 de nuevo a base10, restarás 1 y luego, moverás el resto, por lo que

1111 = > 1110 = > 0001

es igual a -1

    
respondido por el Pyxzure

Lea otras preguntas en las etiquetas