Saltar al contenido

Calculadora binaria

Escribe dos números binarios y obtén la suma, la diferencia, el producto o el cociente, con los acarreos, los préstamos, los productos parciales y los pasos de división larga dispuestos columna a columna. Cambia al modo bit a bit para aplicar AND, OR, XOR, NOT, desplazamientos y rotaciones de 4 a 128 bits. Gratis, sin registro, y nada sale de tu navegador.

Tipo de operación

Solo dígitos binarios, con un signo menos opcional al principio. Los espacios y los guiones bajos se ignoran, así que 1011 0110 funciona.

Resultado

1 0010

Binario

18

Decimal

12

Hexadecimal

22

Octal

5 bits

Longitud

Desarrollo

Suma columna a columna con acarreos
Fila43210
Acarreo de entrada11010
A01101
B00101
Suma10010

Cómo usar la calculadora binaria

  1. 1. Elige el tipo de operación. Aritmética suma, resta, multiplica o divide. Bit a bit opera sobre los bits individuales de patrones de ancho fijo.
  2. 2. Introduce tus números. Usa solo 0 y 1. Un signo menos al principio, un prefijo 0b, los espacios y los guiones bajos son válidos, así que 1011 0110 se lee como un único número.
  3. 3. Elige un ancho (solo en bit a bit). NOT, los desplazamientos y las rotaciones no tienen sentido sin un ancho, así que la calculadora lo pide: 4, 8, 16, 32, 64 o 128 bits.
  4. 4. Lee el resultado y el desarrollo. La respuesta aparece en binario, decimal, hexadecimal y octal, con el desarrollo en columnas debajo.

Cómo funciona la suma binaria

La suma binaria sigue las mismas reglas de columna que la suma decimal, pero una columna se desborda al llegar a 2 en lugar de a 10. Suma los dos bits de una columna más cualquier acarreo que llegue desde la derecha. Si el total es 0 o 1, escríbelo. Si es 2 o 3, escribe el bit bajo (0 o 1) y lleva 1 a la columna siguiente.

Los cuatro casos de una sola columna
Total de la columnaBit escritoAcarreo de salida
0 + 0 + 0 = 000
1 + 0 + 0 = 110
1 + 1 + 0 = 10 (2)01
1 + 1 + 1 = 11 (3)11

Toma 1101 (13) más 101 (5). La calculadora completa ambos hasta cinco columnas y muestra el acarreo que llega a cada una —11010 de izquierda a derecha—, y da 10010, que es 18. La fila de acarreos es la parte que se pierde al sumar a mano.

Resta, multiplicación y división

La resta funciona al revés: cuando una columna necesita 1 − 1 − 1 o 0 − 1, toma prestado 1 de la columna de su izquierda, que aquí vale 2. 1000 − 0011 muestra un préstamo que se propaga por tres columnas y termina en 0101 (8 − 3 = 5). Cuando A es menor que B, la calculadora resta el menor del mayor y da al resultado un signo menos.

La multiplicación es desplazar y sumar. Cada 1 del multiplicador aporta una copia del multiplicando desplazada a la izquierda según la posición de ese bit, y cada 0 no aporta nada. En 1011 × 101 (11 × 5), los unos están en las posiciones 0 y 2, así que los productos parciales son 1011 y 101100, y su suma es 110111: 55.

La división es división larga con un paso de estimación muy sencillo. Baja un bit del dividendo cada vez; si el divisor cabe en lo que tienes, réstalo y escribe un 1 en el cociente; si no cabe, escribe un 0. 1100100 ÷ 111 (100 ÷ 7) da un cociente de 1110 (14) y un resto de 10 (2). Con operandos negativos, el cociente se trunca hacia cero y el resto toma el signo de A, como en C, Java y JavaScript.

Operaciones bit a bit con un ancho elegido

Operaciones bit a bit de dos entradas
ABANDORXORNANDNORXNOR
00000111
01011100
10011100
11110001

Con 1100 y 1010 a 4 bits, AND da 1000, OR da 1110 y XOR da 0110. NOT invierte cada bit dentro del ancho, así que el mismo 1100 se convierte en 0011 a 4 bits, pero en 11110011 a 8 bits; por eso el ancho importa.

Un desplazamiento a la izquierda de n mueve cada bit n posiciones hacia arriba y rellena con ceros; los bits que se salen por arriba se pierden, y la calculadora los enumera. Un desplazamiento lógico a la derecha rellena con ceros. Un desplazamiento aritmético a la derecha copia el bit superior, así que un número negativo sigue siendo negativo: 10110110 desplazado 2 posiciones a la derecha es 00101101 en lógico, pero 11101101 (−19) en aritmético. Las rotaciones devuelven a un extremo los bits que se salen por el otro, así que no se pierde nada.

Sin desbordamiento en el modo aritmético

La aritmética aquí es exacta a cualquier longitud, así que 11111111 + 1 es 100000000, no 0. El hardware real mantiene un número fijo de bits y da la vuelta. Para ver ese comportamiento —y los rangos con signo que lo acompañan— usa la Calculadora de complemento a dos.

Errores comunes

  • Olvidar el acarreo hacia la columna de la izquierda. Sumar dos números de 8 bits puede dar una respuesta de 9 bits. La calculadora conserva la columna extra.
  • Confundir los desplazamientos a la derecha lógico y aritmético. Coinciden en números positivos y no coinciden en cualquier patrón cuyo bit superior sea 1. Los lenguajes difieren: el >> de Java es aritmético y el >>> es lógico, mientras que en C el >> sobre un valor negativo con signo queda a criterio del compilador (aritmético en los más habituales).
  • Leer por error un patrón de bits como número con signo. 11110011 es 243 sin signo y −13 en complemento a dos. Los resultados bit a bit muestran ambos para que sepas cuál quieres.
  • Dar por hecho que NOT no depende del ancho. En un entero sin límite, NOT de 12 es −13. Dentro de un ancho fijo es el patrón complementario, que es lo que devuelve esta calculadora.

Preguntas frecuentes

¿Cómo se suman números binarios?
Trabaja de la columna más a la derecha hacia la izquierda, sumando los dos bits y el acarreo que llegue. Un total de columna de 0 o 1 se escribe tal cual; un total de 2 se escribe como 0 con acarreo de 1, y un total de 3 como 1 con acarreo de 1. Por ejemplo, 1101 + 101 = 10010. La calculadora muestra el acarreo que entra en cada columna.
¿Cómo se restan números binarios?
Resta columna a columna desde la derecha. Cuando una columna bajaría de cero, toma prestado 1 de la columna siguiente a la izquierda, lo que suma 2 a la columna actual. Si el segundo número es mayor, resta en el otro orden y pon un signo menos al resultado. 1000 − 11 = 101 (8 − 3 = 5).
¿Cuál es la diferencia entre un desplazamiento a la derecha lógico y uno aritmético?
Un desplazamiento lógico a la derecha rellena con ceros los bits superiores que quedan libres, así que trata el patrón como un número sin signo. Un desplazamiento aritmético copia el bit superior original, así que un número negativo en complemento a dos sigue siendo negativo. Ambos dividen el valor entre dos, pero solo el aritmético trata correctamente los valores negativos.
¿Qué hacen AND, OR y XOR?
Comparan dos patrones de bits columna a columna. AND da 1 solo cuando ambos bits son 1, OR da 1 cuando al menos uno es 1, y XOR da 1 cuando exactamente uno es 1. AND sirve para enmascarar bits, OR para activarlos y XOR para invertirlos o comparar diferencias.
¿Puede esta calculadora manejar números binarios negativos?
En el modo aritmético, sí: pon un signo menos delante y las reglas de signo se aplican al resultado exacto. El modo bit a bit toma patrones de bits sin signo, porque el patrón de un número negativo depende del ancho. Usa la Calculadora de complemento a dos para hallar el patrón de un valor negativo.
¿Qué tamaño de número binario puedo introducir?
No hay un límite fijo, porque la aritmética usa enteros de precisión arbitraria. El desarrollo en columnas se dibuja para operandos de hasta 64 bits; a partir de ahí sigues obteniendo el resultado exacto, sin la tabla de pasos. Las operaciones bit a bit se limitan al ancho elegido, de hasta 128 bits.

Herramientas relacionadas

Más en Datos, marcado y código