Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Tecnología Industrial

Números negativos en binario: signo-magnitud, complemento y complemento a dos

La resta puede transformarse en suma tratando al sustraendo como valor negativo; por ejemplo, 7 − 5 se convierte en 7 + (−5).

Una vez dominada la representación binaria positiva, el siguiente paso es codificar números negativos para que la resta pueda realizarse con la misma rutina de suma.

En decimal, un signo menos precede al dígito más significativo (p. ej., −5). En hardware binario solo tenemos dos estados —alto o bajo—, por lo que debemos codificar el signo dentro del propio patrón de bits.

En este contexto no disponemos de un tercer símbolo como «menos». Una solución es reservar un bit que represente el signo matemático:

Números negativos en binario: signo-magnitud, complemento y complemento a dos

Usar bits para propósitos más allá de su peso posicional puede causar confusión; por ejemplo, 1101₂ podría leerse como trece a menos que el bit inicial se trate como signo.

Primero, decide el ancho total de bits necesario para alojar la mayor magnitud, y asegúrate de que todas las operaciones permanezcan dentro de ese ancho.

En el ejemplo siguiente, limitamos el rango a −7 (1111₂) hasta +7 (0111₂) tratando el bit más significativo como signo, evitando así malas interpretaciones.

Codificar −5 como 1101₂ ilustra el sistema de signo-magnitud, donde el bit inicial denota el signo en lugar de valor, sacrificando pureza posicional por practicidad.

El bit más significativo indica el signo; los bits restantes conservan los valores posicionales estándar (potencias de dos).

Complementación

Aunque el signo-magnitud es conceptualmente sencillo, complica la suma binaria. ¿Cómo sumar −5 (1101₂) a otro número usando suma ordinaria?

Crear un algoritmo de suma personalizado anularía el propósito; sería equivalente a la resta manual, negando cualquier beneficio computacional.

Una alternativa —la complementación— permite sumar números negativos usando el método estándar de suma binaria y se alinea naturalmente con los pesos posicionales.

En este esquema, el bit más significativo sigue delimitando el rango pero ahora lleva un peso posicional negativo (p. ej., −8). Por ejemplo, −5 se codifica así:

Números negativos en binario: signo-magnitud, complemento y complemento a dos

Con los tres bits de la derecha capaces de representar magnitudes de 0 a 7, y el bit izquierdo representando 0 o −8, podemos representar cualquier entero desde −7 (1001₂ = −8 + 1 = −7) hasta +7 (0111₂ = 0 + 7 = 7).

Los valores positivos permanecen inalterados, pero los negativos requieren la operación de complemento.

Números negativos en binario: signo-magnitud, complemento y complemento a dos

Los números binarios negativos de la columna derecha son la suma de los tres bits derechos más el peso negativo ocho del bit izquierdo, por lo que no siguen la misma progresión que los positivos.

En su lugar, los tres bits derechos deben ajustarse para que, al sumarse al valor de lugar negativo ocho, produzcan el total negativo deseado.

Complemento a dos

Los tres bits derechos son el complemento a dos del contraparte positivo. Por ejemplo:

Números negativos en binario: signo-magnitud, complemento y complemento a dos

Con el bit de peso negativo como cuarto bit (−8), el complemento a dos para cualquier número positivo es el valor necesario para sumar a −8 y obtener el equivalente negativo de ese número.

Calcular un complemento a dos es simple: invierte todos los bits (complemento a uno) y suma uno. Por ejemplo, para obtener el complemento a dos de cinco (101₂), primero invierte a 010₂, luego suma uno para obtener 011₂, que representa −5 en complemento a dos de tres bits.

Generar el complemento a dos funciona igual si manipulas todos los bits, incluido el más significativo, de una vez. Por ejemplo, convertir 0101₂ (cinco) a menos cinco:

Invierte todos los bits → 1010₂; suma uno → 1011₂, representando −5 en complemento a dos de cuatro bits.

Es crucial que la posición del bit de peso negativo esté fijada antes de realizar cualquier conversión a complemento a dos. Si el octavo bit fuera el de peso negativo (10000000₂), el complemento a dos de 0000101₂ sería 1111011₂, representando −5 en complemento a dos de ocho bits.

Así, en un sistema de ocho bits, +5 es 00000101₂ y −5 es 11111011₂.

HOJAS DE TRABAJO RELACIONADAS:

Tecnología Industrial

  1. Contador Binario de 3 Bits con Temporizador 555 y Flip-Flops 4027
  2. Decodificando números y símbolos en electrónica
  3. Numeración octal y hexadecimal: guía práctica para ingenieros
  4. Números vs numeración: comprender la distinción y su impacto práctico
  5. Resta binaria usando complemento a dos
  6. Comprendiendo la Realimentación Negativa en Op‑Amps: Seguidores de Tensión y Estabilidad
  7. Crea tu primera aplicación Go en PLCnext: Guía para principiantes
  8. Dominando los Tipos Numéricos en C++: Guía Práctica
  9. MATLAB - Números: Tipos, Almacenamiento y Conversión
  10. Números en Python: Entendiendo tipos de datos numéricos inmutables
  11. Dominando los Algoritmos de Colecciones de Java: Ordenación, Mezcla y Más