es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Qué significa lo siguiente en relación a las representaciones binarias de tipos con signo en el lenguaje C?

C permite tres representaciones diferentes de signo:

  • Signo y magnitud

  • Complemento a uno

  • Complemento a dos

Las primeras dos probablemente solo tienen relevancia histórica o exótica: en la representación de signo y magnitud, la magnitud se toma como valores positivos, y el bit de signo simplemente especifica que hay un signo negativo. El complemento a uno toma el valor positivo correspondiente y complementa todos los bits. Ambas representaciones tienen la desventaja de que dos valores se evalúan como 0: hay un 0 positivo y un 0 negativo.

Fuente: Modern C, Jens Gustedt

Pregunta: Según la última declaración (en negrita), ¿qué está mal con “dos valores evaluándose a cero”?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Según la última declaración (en negrita), la desventaja de las representaciones de signo y magnitud y complemento a uno es que dos valores se evalúan como 0, lo que significa que existe un cero positivo y un cero negativo. Esto puede llevar a confusión y comportamientos inesperados en ciertos cálculos o comparaciones. Por otro lado, la representación en complemento a dos evita este problema al tener solamente una representación del número 0.

Comments are closed.