¿Cuál sería la salida de A = 0100 y B = 0111 con S = 1 en un sumador-sumador binario de 4 bits?

0

Entiendo que S = 1 significa resta y S = 0 significa suma. Entonces, la salida sería el resultado de 0100 - 0111. Pero como es negativo, no estoy seguro de cómo se representaría. Sé que la respuesta es -3, o -11 en binario, pero ¿cuál sería la salida en el sumador-sumador?

Creo que lo que me está afectando es lo que sucede en el circuito en los bloques etiquetados como "FA", y lo que sucede con el bit de arrastre final (si es 1, por supuesto). Entiendo cómo hacer sumas y restas binarias.

adder-subtractor http: //faculty.kfupm. edu.sa/coe/ashraf/RichFilesTeaching/COE043_200/Chapter3Part1_files/adder-subtractor-circuit.gif

    
pregunta Peter Griffin

2 respuestas

5

Los bloques etiquetados como "FA" se denominan sumadores completos, y son fundamentales para la forma en que se realiza la aritmética binaria en el nivel de la puerta. El circuito que ha presentado aquí es una implementación de un sumador / restador de 4 bits. Combinar la suma y la resta en la misma operación requiere el uso de una representación alternativa de números binarios. Esto se llama complemento de 2.

Resulta que hacer la operación $$ A - B = C $$ es lo mismo que hacer la operación $$ \ overline {A} + 1 + B = C $$ La A con una línea sobre ella significa que hemos tomado el complemento de A, lo que simplemente significa que hemos intercambiado 0's con 1's y 1's con 0's. Ejemplo: $$ \ overline {1100010} + 1 = 0011101 + 0000001 = 0011110 $$ En el circuito que proporcionó, las puertas XOR realizan la función de voltear los bits de entrada A si S = 1. La entrada S también proporciona un bit de acarreo adicional en el primer sumador completo, lo que representa sumar 1 al número. La respuesta corta a tu pregunta es esta: $$ A = 0100, B = 0111 $$ $$ A - B = 0100 - 0111 = 0100 + (\ overline {0111} + 1) = 0100 + 1001 = 1101 $$

Nuestro resultado parece sospechoso, pero tenga en cuenta que cuando agregamos un complemento de 2, obtendremos uno. Esta es la representación digital del número negativo, y al volver a tomar el complemento, podemos ver más fácilmente el valor real. $$ \ overline {1101} = 0010 + 0001 = 0011 $$ Lo que coincide con su predicción.

Si desea comprender la lógica digital y la aritmética binaria, le aconsejaría que no piense que S = 1 significa simplemente resta. En la práctica, la función de S es determinar si debe realizarse una resta o no, pero no da ninguna idea de por qué lo hace. Busque un diagrama de circuito de un solo sumador completo, comprenda cómo funciona y luego retome el problema de un sumador / restador de arrastre de ondulación.

    
respondido por el Tom V M
0

Estaría representado en el complemento de 2. Para los números de 4 bits, el bit más significativo representa -8 y los 3 bits restantes representan +4, +2, +1 respectivamente. Por lo tanto, los equivalentes decimales de los 16 números posibles son:

1000 = -8 + 0 = -8; 1001 = -8 + 1 = -7; 1010 = -8 + 2 = -6; 1011 = -8 + 3 = -5; 1100 = -8 + 4 = -4; 1101 = -8 + 5 = -3; 1110 = -8 + 6 = -2; 1111 = -8 + 7 = -1; 0000 = 0; 0001 = 1; 0010 = 2; 0011 = 3; 0100 = 4; 0101 = 5; 0110 = 6; 0111 = 7;

En su circuito, FA = 'sumador completo' - vea la tabla de verdad en la web.

En la suma y resta del complemento a 2, no se le permite exceder el rango de -8 a +7, o se produce un error (eso es para los números de 4 bits, por supuesto. Para los números de 8 bits, el rango sería de -128 a 127, números de 16 bits: -2 ^ 15 a 2 ^ 15-1 = -32768 a 32767, etc ...)

Entonces, para su sumador de 4 bits, (0100 - 0111) da el resultado 1101 = (-8 +5) = -3.

[0111 está conectado a las entradas exclusivas y 0100 está conectado a las FA]

Nota: en la aritmética complementaria de 2, se omite la ejecución del sumador final completo.

    
respondido por el Chu

Lea otras preguntas en las etiquetas