Práctico 1 - Ejercicio 7

Práctico 1 - Ejercicio 7

de Veronica Viviana Pintos Fernandez -
Número de respuestas: 4

Buenas,

En este ejercicio se deben pasar los valores hexadecimales a binario (en C2), y si el BMS = 1 es negativo y si es 0 es positivo?

La idea de acomodar la tira es ver qué suma binaria hacer primero, etc. para que de el resultado 0003 h? Sería probando las combinaciones posibles?

Desde ya muchas gracias.

Saluda,

Verónica.

En respuesta a Veronica Viviana Pintos Fernandez

Re: Práctico 1 - Ejercicio 7

de Gustavo Brown -

Bueno, la idea no es probar la combinaciones posibles sino ir viendo de elegir números de magnitud similar y diferente signo de tal manera que las sumas se mantengan lo más centradas en 0 posible.

Para saber si un número es negativo  o positivo hay que mirar el bit más significativo, o directamente mirar el número expresado en hexadecimal y ver que sea >= 0x8000 y <= 0xFFFF. Si el número es negativo para obtener su magnitud conviene calcular su opuesto (o sea el complemento a2).

Luego vas eligiendo lo números y haciendo las sumas corroborando que en ningun paso se produzca overflow. Notar que el resultado final de todas las sumas va a ser correcto independientemente de que haya overflows intermedios.

Saludos,
  Gustavo

En respuesta a Gustavo Brown

Re: Práctico 1 - Ejercicio 7

de Veronica Viviana Pintos Fernandez -

Muchas gracias por tu respuesta Gustavo.

Siguiendo lo que explicaste, por ejemplo 0xAB68 es negativo ya que 0x8000 < 0xAB68 < 0xFFFF.

=> C2 de 0xAB68 = 0x5498

Para la suma parcial o total del ejercicio, se le debe agregar el signo de - a 0x5498? Es correcto? Si no se agrega el signo de menos a este y otros números no da el resultado 0x0003.

Por ejemplo al realizar la suma parcial: 0x5499 + (-0x5498) = 0x0001

Desde ya muchas gracias.

Saluda,

Verónica.

En respuesta a Veronica Viviana Pintos Fernandez

Re: Práctico 1 - Ejercicio 7

de Gustavo Brown -

Verónica,

 Si le aplicas el complemento A2 a un número estas calculando su opuesto. Por lo tanto si lo que tenías era una suma pero al segundo operando le aplicaste el complemento A2 entonces deberías restar.

Pero de hecho podes sumar directamente ambos valores (originales). Lo de aplicar el complemento A2 para obtener el opuesto era mi sugerencia para saber la magnitud del número cuando es negativo.

Resumiendo, todas estas son igualdades:

  0x5499 + 0xAB68 = 0x5499 - (-0xAB68) = 0x5499 - 0x5498

Saludos,
  Gustavo