Calculadora de complemento a dos

Esta es una calculadora de complemento a dos. Codifica un entero con signo o lee hex/binario como con signo. −1 a 8 bits es 0xFF. −52 es 0xCC. El mismo byte 0xFF vale 255 sin signo.

Pulse un bit para invertirlo. El de la izquierda (anillo dorado) es el bit de signo.

Pulsa un valor para copiarlo

Rellenar, invertir, sumar 1

Suma / resta en complemento a dos (A y B en decimal con signo)

Ejemplos — pulsa una muestra

El mismo patrón de 4 bits en sin signo, signo-magnitud, complemento a uno y complemento a dos — pulse una fila para cargarlo

Binary Sin signo Signo-magnitud Complemento a uno Two's
00000000
01015555
01117777
10008−0−7−8
101010−2−5−6
111115−7−0−1

Esta es una calculadora de complemento a dos

Codifica un entero con signo en complemento a dos, o lee un patrón hex/binario como con signo. Anchos: Auto, 4, 8, 12, 16, 32 y 64. −1 a 8 bits es 0xFF; −52 es 0xCC; 20 es 0x14. La lectura sin signo de los mismos bits: 0xFF es 255. HEX, Binary, Decimal no se traducen. No es la calculadora bit a bit HEX ni la calculadora HEX sin signo.

Cómo usarla

  1. Elija Decimal / Hex / Binary y el ancho. Decimal escribe el complemento a dos del entero con signo. Hex y Binary rellenan con ceros y luego leen el valor con signo. Auto elige el ancho más pequeño que cabe.
  2. La cuadrícula es el patrón. El bit izquierdo (anillo dorado) es el de signo; púlselo para invertirlo. Las tarjetas muestran hex, decimal con signo, sin signo, complemento a uno y la negación invertir+1.
  3. Un decimal negativo: rellenar la magnitud, invertir, sumar 1. −52 a 8 bits: 0011 0100 → 1100 1011 → 1100 1100 (0xCC). Los positivos no invierten.
  4. A y B son decimales con signo a la misma anchura. A+B y A−B envuelven módulo 2^N; se marca desbordamiento si la suma matemática no cabe. Mostrar ejemplo es −1 a 8 bits → 0xFF. Otras pastillas: −52, 20, 0xFF, 0x80 (−128) y 1010 a 4 bits (−6).
  5. La tabla de 4 bits compara sin signo, signo-magnitud, complemento a uno y complemento a dos. Pulse una fila para cargar el patrón.

Notas

El patrón es TC = (2^N + X) mod 2^N. El rango con signo de 8 bits es −128…127; el de 4 bits −8…7. Hex/binario más corto que el ancho se rellena con ceros, no se extiende el signo. Negar 0x80 a 8 bits sigue 0x80: no existe +128. Relacionado: IEEE 754, conversor endian.

Dónde usarla

  • Leer un byte con signo en un dump: 0xFF como signed char es −1; como unsigned, 255.
  • Comprobar invertir-más-uno, o por qué A−B es A más el complemento a dos de B.

Preguntas

¿Por qué −128 no se puede negar en 8 bits?

El rango es asimétrico. Invertir 1000 0000 y sumar 1 vuelve a 1000 0000. El +128 matemático no cabe.

¿0xFF es −1 o 255?

Depende de cómo se lea. Esta página muestra el valor con signo en complemento a dos y la lectura sin signo de los mismos bits.

¿Qué es el complemento a uno aquí?

Cada bit del patrón actual invertido, sin +1. El complemento a dos de un negativo invierte la magnitud y suma 1.