robot de la enciclopedia para niños

Representación de números con signo para niños

Enciclopedia para niños

En matemáticas, cuando escribimos números negativos, simplemente ponemos un signo "−" delante, como en -5. Pero, ¿cómo hacen las computadoras para entender que un número es negativo si solo usan ceros y unos (el sistema binario)?

Las computadoras tienen varias maneras de representar los números con signo. Este artículo te explicará cuatro métodos principales que usan para esto:

Hoy en día, la mayoría de las computadoras usan la representación en complemento a dos porque es muy eficiente.

Cuando hablamos de números negativos, nos referimos a aquellos que son menores que cero. El valor absoluto de un número es su distancia al cero en la recta numérica, sin importar si es positivo o negativo. Por ejemplo, el valor absoluto de 3 es 3, y el valor absoluto de -3 también es 3. Se escribe entre barras: |3| = 3 y |-3| = 3.

Cómo las computadoras entienden los números con signo

Las computadoras usan "bits" (que son ceros o unos) para guardar información. Para representar un número con signo, necesitan una forma de indicar si es positivo o negativo.

Signo y Magnitud: Una forma sencilla de ver el signo

Este método es el más parecido a cómo escribimos los números. Para un número de n-bits (por ejemplo, 8 bits):

  1. Se usa un bit para el signo. Este bit suele ser el primero de la izquierda (el más significativo).
  2. Si el bit de signo es 0, el número es positivo.
  3. Si el bit de signo es 1, el número es negativo.
  4. Los otros (n-1) bits muestran el valor del número, como si fuera positivo (su valor absoluto).

Algunas de las primeras computadoras usaban este método porque era fácil de entender.

Ejemplo de Signo y Magnitud con 8 bits

Imagina que tenemos 8 bits para representar un número. Un bit es para el signo y los otros 7 bits para el valor. Con 8 bits, podemos representar 256 números diferentes.

  • Con este sistema, podemos tener 127 números positivos (el bit de signo es 0) y 127 números negativos (el bit de signo es 1).
  • También hay dos formas de representar el cero: +0 (00000000) y -0 (10000000).

¿Cómo representamos -97 en Signo y Magnitud? 1. El número es negativo, así que el bit de signo será 1. 2. El valor absoluto de -97 es 97. 3. Convertimos 97 a binario: 1100001. 4. Juntamos el bit de signo y el valor: 11100001. El 1 al principio indica que es negativo.

¿Cómo convertimos 10110101 de Signo y Magnitud a decimal? 1. El primer bit es 1, lo que significa que el número es negativo. 2. Los bits restantes son 0110101. Convertimos 0110101 a decimal, que es 53. 3. Como el bit de signo era 1, el número real es -53. Si hubiera sido 0, sería +53.

Desventajas del método Signo y Magnitud

  • Operaciones complicadas: Sumar o restar números es más difícil porque primero hay que ver si tienen el mismo signo.
  • Doble cero: Hay dos formas de representar el cero (+0 y -0), lo que puede causar confusiones.

Ventajas del método Signo y Magnitud

  • Rango simétrico: Puede representar la misma cantidad de números positivos y negativos (sin contar el doble cero). Por ejemplo, con 8 bits, va de +127 a -127.

Complemento a uno: Invirtiendo los bits

Este método es otra forma de representar números negativos. Para obtener el complemento a uno de un número binario, simplemente se invierten todos sus bits: los 0 se convierten en 1 y los 1 se convierten en 0.

En este sistema, para un número de n-bits:

  1. El bit más significativo (el primero de la izquierda) indica el signo: 0 para positivo, 1 para negativo.
  2. Para números positivos, los bits restantes son el valor del número.
  3. Para números negativos, los bits restantes son el complemento a uno del valor absoluto del número.

Algunas computadoras antiguas, como la PDP-1, usaban este sistema.

Para n = 8 (8 bits) en Complemento a uno
Valores de 8 bits Interpretado en Complemento a uno en decimal Interpretado como Entero sin signo en decimal
00000000 0 0
00000001 1 1
00000010 2 2
... ... ...
01111110 126 126
01111111 127 127
10000000 −127 128
10000001 −126 129
10000010 −125 130
... ... ...
11111101 −2 253
11111110 −1 254
11111111 −0 255

Ejemplo de Complemento a uno con 8 bits

¿Cómo representamos -97 en Complemento a uno? 1. El número es negativo, así que el bit de signo será 1. 2. El valor absoluto de -97 es 97. En binario es 1100001. 3. Obtenemos el complemento a uno de 1100001, que es 0011110 (invertimos los bits). 4. Juntamos el bit de signo y el complemento a uno: 10011110.

¿Cómo convertimos 10110101 de Complemento a uno a decimal? 1. El primer bit es 1, lo que significa que el número es negativo. 2. Los bits restantes son 0110101. Como es negativo, debemos obtener su complemento a uno: 1001010. 3. Convertimos 1001010 a decimal, que es 74. 4. Como el bit de signo era 1, el número real es -74. Si el bit de signo hubiera sido 0, el número sería +53 (0110101 en decimal).

Desventajas del Complemento a uno

  • Doble cero: Al igual que Signo y Magnitud, tiene dos representaciones para el cero: +0 (00000000) y -0 (11111111).

Ventajas del Complemento a uno

  • Rango simétrico: También puede representar la misma cantidad de números positivos y negativos (de +127 a -127 con 8 bits).
  • Operaciones aritméticas: Permite sumar y restar de forma más sencilla que Signo y Magnitud, aunque a veces hay que hacer un pequeño ajuste al final (sumar un "acarreo" si lo hay).

Complemento a dos: El método más usado

Este es el método más común en las computadoras modernas. Para obtener el complemento a dos de un número binario, primero se obtiene su complemento a uno y luego se le suma 1.

Otra forma de obtenerlo es: 1. Empezando desde la derecha, encuentra el primer 1. 2. Deja ese 1 y todos los bits a su derecha como están. 3. Invierte todos los bits que quedan a la izquierda de ese primer 1.

En este sistema, para un número de n-bits:

  1. El bit más significativo (el primero de la izquierda) indica el signo: 0 para positivo, 1 para negativo.
  2. Para números positivos, los bits restantes son el valor del número.
  3. Para números negativos, los bits restantes son el complemento a dos del valor absoluto del número.
Para n = 8 (8 bits) en Complemento a dos
Valores de 8 bits Interpretado en Complemento a dos en decimal Interpretado como Entero sin signo en decimal
00000000 0 0
00000001 1 1
00000010 2 2
... ... ...
01111110 126 126
01111111 127 127
10000000 −128 128
10000001 −127 129
10000010 −126 130
... ... ...
11111101 −3 253
11111110 −2 254
11111111 −1 255

Ejemplo de Complemento a dos con 8 bits

¿Cómo representamos -97 en Complemento a dos? 1. El número es negativo, así que el bit de signo será 1. 2. El valor absoluto de -97 es 97. En binario es 1100001. 3. Obtenemos el complemento a uno de 1100001, que es 0011110. 4. Le sumamos 1 a 0011110, lo que nos da 0011111. 5. Juntamos el bit de signo y el complemento a dos: 10011111.

¿Cómo convertimos 10110101 de Complemento a dos a decimal? 1. El primer bit es 1, lo que significa que el número es negativo. 2. Los bits restantes son 0110101. Como es negativo, debemos obtener su complemento a dos. 3. Primero, complemento a uno de 0110101 es 1001010. 4. Luego, sumamos 1: 1001010 + 1 = 1001011. 5. Convertimos 1001011 a decimal, que es 75. 6. Como el bit de signo era 1, el número real es -75. Si el bit de signo hubiera sido 0, el número sería +53 (0110101 en decimal).

Desventajas del Complemento a dos

  • Rango asimétrico: Con 8 bits, puede representar números de +127 a -128. Hay un número negativo más que positivo. Esto se debe a que el -128 no tiene un equivalente positivo en este sistema.

Ventajas del Complemento a dos

  • Un solo cero: Solo hay una forma de representar el cero (00000000), lo que evita confusiones.
  • Operaciones sencillas: Las sumas y restas son muy fáciles de hacer para la computadora, lo que lo hace muy eficiente.

Exceso K: Sumando un valor fijo

Este método consiste en sumar un valor fijo, llamado K, a cada número. El número binario resultante está "en exceso" por ese valor K. Este formato se usa a menudo para representar la parte del exponente en números con punto flotante (números con decimales).

El valor de K no es fijo, pero a menudo se elige como 2n-1 o 2n-1-1, donde 'n' es el número de bits.

Para n = 8 (8 bits) en Exceso a 127
Valores de 8 bits Interpretado en Exceso a 127 en decimal Interpretado como Entero sin signo en decimal
00000000 -127 0
00000001 -126 1
00000010 -125 2
... ... ...
01111110 -1 126
01111111 0 127
10000000 1 128
10000001 2 129
10000010 3 130
... ... ...
11111101 125 253
11111110 126 254
11111111 127 255

Ejemplo de Exceso 2n-1 con 8 bits

Si usamos 8 bits, K será 28-1 = 27 = 128. Así que estamos en "Exceso a 128".

¿Cómo representamos -97 en Exceso a 128? 1. Tomamos el número -97 y le sumamos el exceso (128): -97 + 128 = 31. 2. Convertimos 31 a binario: 00011111. Este es el número en Exceso a 128.

¿Cómo convertimos 10110101 de Exceso a 128 a decimal? 1. Convertimos 10110101 a decimal, que es 181. 2. Como este valor está en exceso 128, le restamos 128: 181 - 128 = 53. Este es el número real.

Desventajas del Exceso K

  • Cálculos intermedios: Requiere pasos adicionales para convertir y entender los números.
  • Rango asimétrico: Con 8 bits, el rango va de +127 a -128.

Ventajas del Exceso K

  • Orden natural: El número más pequeño se representa con todos los bits en cero, y el más grande con todos los bits en uno.
  • No hay separación: Los 'n' bits representan el número completo, no hay una parte para el signo y otra para el valor.

Tabla de comparación de métodos

Esta tabla muestra cómo se representan los números del +8 al -8 usando 4 bits con diferentes métodos.

Representación de enteros de 4 bits
Decimal Entero sin signo Signo y Magnitud Complemento a uno Complemento a dos En exceso a 7
+8 1000 n/d n/d n/d n/d
+7 0111 0111 0111 0111 1111
+6 0110 0110 0110 0110 1110
+5 0101 0101 0101 0101 1101
+4 0100 0100 0100 0100 1100
+3 0011 0011 0011 0011 1011
+2 0010 0010 0010 0010 1010
+1 0001 0001 0001 0001 1001
+0 0000 0000 0000 0000 1000
-0 n/d 1000 1111 n/d n/d
-1 n/d 1001 1110 1111 0110
-2 n/d 1010 1101 1110 0101
-3 n/d 1011 1100 1101 0100
-4 n/d 1100 1011 1100 0011
-5 n/d 1101 1010 1011 0010
-6 n/d 1110 1001 1010 0001
-7 n/d 1111 1000 1001 0000
-8 n/d n/d n/d 1000 n/d

Galería de imágenes

Véase también

Kids robot.svg En inglés: Signed number representations Facts for Kids

kids search engine
Representación de números con signo para Niños. Enciclopedia Kiddle.