Saltar al contenido
Favoritos

Calculadora binaria

Actualizado:

Realiza cálculos con números binarios: suma, resta, multiplicación, división con resto, operaciones bit a bit AND, OR, XOR, NOT y desplazamientos de bits a izquierda y derecha. Introduce dos valores binarios y obtén resultados exactos en binario, decimal, hexadecimal y octal, con el desarrollo paso a paso.

Suma, resta, multiplicación y combinación de números binarios

Campos de entrada
Solo los dígitos 0 y 1, con un signo menos inicial opcional; los espacios internos se ignoran. Hasta 1024 dígitos.
Segundo operando; en los desplazamientos es la cantidad de posiciones, expresada en binario.
Si está activado, el resultado se actualizará automáticamente al cambiar cualquier valor.

Aritmética binaria: reglas básicas

Fórmula
\[ b_{n-1}\,b_{n-2}\,\ldots\,b_1\,b_0 \;=\; \sum_{i=0}^{n-1} b_i \cdot 2^i \]

Donde:

  • \(b_i\) — un bit, que vale 0 o 1
  • \(i\) — la posición del bit, contada desde la derecha empezando en 0
  • \(2^i\) — el valor posicional (peso) de esa posición

Los números binarios usan solo los dígitos 0 y 1, y cada posición vale una potencia de 2. Las operaciones funcionan igual que en decimal, solo que con tablas de base 2: en la suma \(0+0=0\), \(0+1=1\) y \(1+1=10_2\) (se escribe 0 y se lleva 1); en la resta \(1-0=1\), \(1-1=0\) y \(0-1\) pide prestado 1 de la columna siguiente (que vale 2) para escribir 1.

En las operaciones bit a bit, cada bit del resultado depende únicamente de los dos bits de los operandos situados en la misma columna, como si los números estuvieran escritos uno debajo del otro. Un desplazamiento a la izquierda de \(k\) posiciones multiplica por \(2^k\) dentro de una palabra de anchura fija, y un desplazamiento aritmético a la derecha de \(k\) posiciones divide entre \(2^k\), redondeando hacia \(-\infty\).

Calculadora binaria: ejemplo de cálculo

Ejemplo: suma los números binarios A = 1011 y B = 0110 (los valores que aparecen por defecto en la calculadora).

Primero, lee ambos números en decimal usando los valores posicionales \(2^3, 2^2, 2^1, 2^0\):

\[ 1011_2 = 8 + 0 + 2 + 1 = 11_{10}, \qquad 0110_2 = 0 + 4 + 2 + 0 = 6_{10} \]

Ahora suma columna a columna desde la derecha, llevando 1 siempre que una columna sume 2 o más:

\[ 1011_2 + 0110_2 = 10001_2 \]

Compruébalo en decimal: \(11 + 6 = 17\), y en efecto \(10001_2 = 16 + 1 = 17\).

Resultado: 10001 en binario, 17 en decimal, 0x11 en hexadecimal y 0o21 en octal.

Cómo usar la calculadora

  1. Elige una Operación en el menú desplegable: suma, resta, multiplicación, división con resto, uno de los operadores bit a bit (AND, OR, XOR, NOT) o un desplazamiento de bits (A << B, A >> B).
  2. Introduce el Primer número (A) usando solo los dígitos 0 y 1, con un signo menos inicial opcional para valores negativos. Los espacios dentro del número se ignoran.
  3. Introduce el Segundo número (B) de la misma manera. Para NOT solo se usa A; en los desplazamientos, B es la cantidad de posiciones a desplazar (también escrita en binario).
  4. Para NOT, el desplazamiento a la izquierda y el de la derecha, elige una Anchura en bits (8, 16, 32 o 64 bits). El resultado de estas tres operaciones es una palabra en complemento a dos de esa anchura.
  5. Consulta los Resultados: la respuesta en binario, junto con sus equivalentes en decimal, hexadecimal y octal. La división muestra también el resto, y el panel Pasos del cálculo explica cómo se ha obtenido la respuesta.

Qué significa la aritmética binaria

El binario es el sistema numérico del hardware digital: un bit vale 0 o 1 porque un transistor está apagado o encendido. Todo número binario es una secuencia de bits en la que la posición \(i\), contada desde la derecha, tiene un peso \(2^i\). Por eso 1011 no es «mil once», sino \(1\cdot8 + 0\cdot4 + 1\cdot2 + 1\cdot1 = 11\). Una vez que lees los números así, las cuatro operaciones básicas siguen el método escolar de siempre: simplemente llevas a partir de 2 en lugar de a partir de 10.

Las operaciones bit a bit funcionan de otra manera: tratan cada columna de forma independiente, lo que las hace ideales para máscaras y banderas. El AND de dos números conserva solo los bits que están a 1 en ambos; el OR, los que están a 1 al menos en uno; el XOR, los que están a 1 exactamente en uno. La tabla siguiente muestra la regla para una sola columna:

thead>

A B A AND B A OR B A XOR B
0 0 0 0 0
0 1 0 1 1
1 0 0 1 1
1 1 1 1 0

Los desplazamientos son el atajo binario para escalar por potencias de dos. Desplazar 1011 dos posiciones a la izquierda da 101100, que es \(11 \times 4 = 44\), siempre que ningún bit caiga por el borde izquierdo de la palabra. Por eso importa la anchura en bits: dentro de un registro de 32 bits, 1 desplazado 31 posiciones a la izquierda sigue siendo válido, pero desplazado 32 posiciones el bit desaparece y el resultado pasaa a 0. Los informáticos lo usan en todo, desde máscaras de imagen hasta el subneteo de IP, donde una calculadora CIDR aplica la misma lógica de máscaras de bits a rangos de direcciones.

Si lo que quieres es convertir un número entre bases en lugar de calcular con dos de ellos, usa el Conversor binario; el Conversor hexadecimal hace lo propio con la notación hexadecimal que muchos programadores prefieren.

Supuestos, limitaciones y consejos

  • Hasta 1024 bits por entrada. Todos los cálculos usan aritmética entera exacta, de modo que incluso números binarios muy largos dan una respuesta exacta: sin redondeos ni desbordamientos en los modos de suma, resta, multiplicación, división y operaciones bit a bit.
  • NOT y los desplazamientos son de anchura fija. Se evalúan dentro del tamaño de palabra que elijas, igual que haría un registro de CPU. Los resultados hexadecimales y octales de estas operaciones se muestran como patrones de bits sin signo de esa anchura, rellenados con ceros a la izquierda.
  • La división trunca hacia cero e informa del resto, igual que los operadores / y % de JavaScript, C y Java: A = B × Q + R con |R| < |B|, y R toma el signo de A.
  • Las tablas de pasos (filas de acarreo, filas de préstamo, columnas bit a bit) se dibujan para entradas de hasta 64 bits y, en la multiplicación, hasta 24 bits a 1 en B; las entradas más largas se siguen calculando con exactitud, solo que sin el desarrollo ilustrado.
  • Los ceros a la izquierda no cambian nada en términos numéricos — 0110 y 110 son ambos 6 —, pero NOT y los desplazamientos los usan para definir la forma de la palabra, así que introduce la anchura explícitamente si el relleno te importa.
  • Los números negativos solo se admiten en forma de signo y magnitud (un menos inicial); la calculadora los convierte internamente y muestra el resultado con signo menos, no como un patrón en complemento a dos (excepto en el modo NOT y desplazamiento).

Preguntas frecuentes

¿Cómo convierto un número binario a decimal a mano?

Escribe las potencias de 2 encima de cada bit, de derecha a izquierda: 1, 2, 4, 8, 16, etc., y suma las potencias que quedan sobre un 1. Por ejemplo, \(1101_2 = 8 + 4 + 0 + 1 = 13\). El bit más a la derecha (posición 0) siempre tiene peso \(2^0 = 1\), y cada paso hacia la izquierda duplica el peso.

¿Cómo convierto un número decimal a binario paso a paso?

Divide el número entre 2 repetidamente, anotando el resto de cada paso, hasta llegar a 0. Después lee los restos de abajo hacia arriba. Para el 13: \(13 \div 2 = 6\) resto 1, \(6 \div 2 = 3\) resto 0, \(3 \div 2 = 1\) resto 1, \(1 \div 2 = 0\) resto 1; la secuencia de restos 1101 es la forma binaria.

¿Por qué 1 + 1 es igual a 10 en binario?

Porque en binario no existe el dígito 2. Cuando una columna suma 2, escribes 0 en esa columna y llevas 1 a la siguiente columna de la izquierda, igual que haces el acarreo cuando una columna decimal supera el 9. Así, \(1 + 1 = 10_2\), que se lee «uno cero»: la forma binaria de escribir el dos (un grupo de dos, más cero unidades).

¿Cuál es la diferencia entre AND, OR y XOR?

Los tres comparan los números columna a columna. AND da 1 solo donde ambos operandos tienen un 1: útil para extraer o enmascarar bits. OR da 1 donde al menos un operando tiene un 1: útil para activar bits. XOR da 1 donde exactamente un operando tiene un 1: útil para invertir bits, y el XOR de un número consigo mismo siempre es 0.

¿Por qué tengo que elegir una anchura en bits para NOT y los desplazamientos?

NOT y los desplazamientos cambian el número de bits del resultado, así que la respuesta depende del tamaño del contenedor, igual que ocurre en un registro de CPU. Dentro de una palabra de 8 bits, NOT 0000 0101 invierte todos los bits, incluidos los ceros a la izquierda, y da 1111 1010. Del mismo modo, un desplazamiento a la izquierda de k posiciones multiplica por \(2^k\) solo si ningún bit cae por el borde izquierdo de la palabra; de lo contrario, el valor se desborda (wrap-around).

¿Qué ocurre con los números negativos en binario?

Esta calculadora admite entradas negativas escritas con un signo menos inicial y calcula resultados exactos con signo. Sin embargo, para las operaciones NOT y de desplazamiento, de anchura fija, los números negativos siguen la convención de complemento a dos, donde \(-A\) se almacena como \(2^w - A\) en una palabra de w bits, y NOT A equivale a \(-A - 1\). Por eso NOT 0, en cualquier anchura, da como resultado −1.

¿Cuáles son los errores más comunes al hacer aritmética binaria a mano?

Olvidar el acarreo cuando una columna suma 2, pedir prestado 10 en lugar de 2 en la resta, y leer el resultado como si fueran dígitos decimales (1011 es once, no mil once). Cuida también la dirección del desplazamiento: desplazar a la izquierda multiplica por \(2^k\), mientras que desplazar a la derecha divide entre esa cantidad descartando el resto: un desplazamiento a la derecha de 1011 (11) en 1 posición da 101 (5), no 22.

¿La división binaria produce un resultado fraccionario?

No: esta calculadora realiza la división entera con resto, como los operadores / y % de JavaScript, C o Java. El cociente trunca hacia cero, y el resto cumple A = B × Q + R, con el resto tomando el signo del dividendo. La división entre cero se rechaza y muestra un error, ya que no tiene un cociente definido.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *