[2021][Julio][Problema2]

Re: [2021][Julio][Problema2]

de Gustavo Brown -
Número de respuestas: 0
Hola Paula,
El programa en C ejecuta con la semántica vista en el curso. Los números sin signo en representación binaria y los números con signo en representación complemento a 2. El operador - (menos) calcula el opuesto, no el complemento.
.
Al ejecutar la línea 11 se va a entrar al IF si el número A en valor absoluto y signo es negativo porque el bit más significativo de los números A y B (uno en valor absoluto y signo y otro en complemento A 1) nos dice si el número es negativo en su representación.
Luego en la línea 12 le resta el valor 0x80 al número op_A. Al restar ese número a la representación V.A. y signo de 8 bits de un número negativo estamos quedándonos con el mismo número en valor absoluto pero ahora de signo positivo. 
Por último en la línea 13 se le calcula el opuesto a op_A. Ese opuesto es calculado con la semántica de C para números con signo, es decir representando al número en complemento a 2.

Saludos,
  Gustavo