Calculadora binaria gratuita. Suma, resta, multiplica y divide en binario y convierte entre binario, decimal, hexadecimal y octal con exactitud.
Automático usa tantos bits como necesite el valor. Un ancho fijo rellena la salida y activa el complemento a dos para los negativos.
| Base | Raíz | Dígitos | Prefijo | Dónde aparece |
|---|---|---|---|---|
| Binario | 2 | 0-1 | 0b | Banderas de bits, máscaras y volcados de registros: todo lo que se mide en potencias de dos |
| Octal | 8 | 0-7 | 0o | Permisos de archivos Unix, donde un dígito lleva exactamente tres bits |
| Decimal | 10 | 0-9 | — | El conteo cotidiano, y la base por la que pasa toda conversión |
| Hexadecimal | 16 | 0-9, A-F | 0x | Direcciones de memoria, códigos de color y volcados de bytes: cuatro bits por dígito |
| Potencia | Decimal | Hex | Referencia |
|---|---|---|---|
| 2^0 | 1 | 1 | — |
| 2^1 | 2 | 2 | — |
| 2^2 | 4 | 4 | — |
| 2^3 | 8 | 8 | — |
| 2^4 | 16 | 10 | — |
| 2^5 | 32 | 20 | — |
| 2^6 | 64 | 40 | — |
| 2^7 | 128 | 80 | — |
| 2^8 | 256 | 100 | Un byte |
| 2^9 | 512 | 200 | — |
| 2^10 | 1024 | 400 | Kibi (KiB) |
| 2^11 | 2048 | 800 | — |
| 2^12 | 4096 | 1000 | — |
| 2^13 | 8192 | 2000 | — |
| 2^14 | 16384 | 4000 | — |
| 2^15 | 32768 | 8000 | — |
| 2^16 | 65536 | 10000 | Dos bytes |
| 2^20 | 1048576 | 100000 | Mebi (MiB) |
| 2^24 | 16777216 | 1000000 | Colores RGB |
| 2^30 | 1073741824 | 40000000 | Gibi (GiB) |
| 2^31 | 2147483648 | 80000000 | Límite con signo de 32 bits |
| 2^32 | 4294967296 | 100000000 | Espacio de direcciones IPv4 |
| 2^63 | 9223372036854775808 | 8000000000000000 | Límite con signo de 64 bits |
| 2^64 | 18446744073709551616 | 10000000000000000 | Espacio sin signo de 64 bits |
| Bits | Máx. sin signo | Mín. con signo | Máx. con signo | Nombres de tipo habituales |
|---|---|---|---|---|
| 8 | 255 | -128 | 127 | byte, uint8, int8 |
| 16 | 65535 | -32768 | 32767 | short, uint16, int16 |
| 32 | 4294967295 | -2147483648 | 2147483647 | int, uint32, int32 |
| 64 | 18446744073709551615 | -9223372036854775808 | 9223372036854775807 | long, uint64, int64 |
También podrías encontrar útiles estas calculadoras
Convierte, suma y enmascara hex, binario, octal y decimal
Texto a binario, hex, decimal u octal — y de vuelta, en UTF-8 real
Convierte CIDR en rango, divide un bloque o agrega bloques
Convierte entre unidades de almacenamiento digital
Dos trabajos, dos pestañas. Calcular suma, resta, multiplica y divide dos números en la base con la que trabajas y muestra los acarreos o los productos parciales. Convertir toma un número y te da las cuatro bases a la vez. Ambas usan aritmética entera exacta, así que el valor de un registro de 64 bits vuelve con todos sus dígitos en lugar de redondearse a un número que nunca existió.
El binario es base 2: cada posición vale una potencia de dos y los únicos dígitos son 0 y 1. Una calculadora binaria hace dos cosas con eso. Opera directamente sobre números en base 2, llevando acarreo en 2 en lugar de en 10, y reescribe un número en otra base sin cambiar su valor. El octal agrupa los bits de tres en tres y el hexadecimal de cuatro en cuatro, y por eso un byte son dos dígitos hexadecimales y un permiso de Unix son tres octales.
Valor posicional
chmod 755 está en octal. Al convertirlo obtienes 111101101: tres grupos de tres bits, uno por clase de usuario, que es justo como se guardan los bits de permiso.
Un color como A3 dentro de un triplete hexadecimal es un byte por canal. Conviértelo a decimal para obtener el valor RGB que espera una herramienta de diseño.
Una máscara escrita como 255.255.255.0 son cuatro bytes. Convierte cada uno a binario y la longitud del prefijo es sencillamente el número de unos iniciales.
Fija el ancho en 32 o 64 bits y la salida binaria se rellena hasta ese ancho, de modo que las posiciones de bit coinciden con la hoja de datos en lugar de desplazarse al cambiar el valor.
Sumar 1011 y 1101 da 11000, y la tabla de acarreos muestra qué columnas llevaron. Eso es lo que pide ver quien corrige.
Suma 200 y 100 con un ancho de 8 bits y el resultado se desborda a 44. La página muestra tanto el 300 exacto como el 44 almacenado, que es justo el fallo que buscabas.
Cada valor se guarda como entero exacto, así que sesenta y cuatro bits en 1 dan 18446744073709551615 y FFFFFFFFFFFFFFFF, no una cifra redondeada acabada en tres ceros. Las herramientas construidas sobre números de coma flotante pierden precisión por encima de unos 9 billardos sin avisarte.
Introduce un signo menos y obtienes el patrón en complemento a dos con el ancho de bits que elijas, además del valor sin signo que ese mismo patrón representa. Nada se queda en blanco.
La división sucesiva, los acarreos por columna y los productos parciales se muestran fila a fila, para que puedas copiar el método en papel en lugar de fiarte de un solo número.
Binario, octal, decimal y hexadecimal se muestran juntos, así que nunca conviertes dos veces para pasar de hexadecimal a octal.
Elige un ancho de 8, 16, 32 o 64 bits y la página te avisa cuando la respuesta exacta no cabe, mostrando tanto el valor verdadero como el patrón que realmente se guardaría.
Una tabla de referencia va de 2⁰ a 2⁶⁴ con la forma hexadecimal al lado de cada una, así que los valores que vuelves a deducir una y otra vez simplemente están ahí.
Suma columna a columna desde la derecha, llevando siempre que una columna llegue a 2. 1011 más 1101 es 11000: la columna de la derecha es 1 más 1, que da 0 y lleva 1, y el acarreo se propaga hacia la izquierda. En decimal eso es 11 más 13 igual a 24. La tabla de acarreos de esta página muestra cada columna y el acarreo que produjo.
Puedes pedir prestado columna a columna, igual que en decimal, o sumar el complemento a dos del segundo número y descartar el acarreo del bit más alto. Ambos dan el mismo resultado. Esta página usa el préstamo para el desarrollo mostrado y devuelve un resultado negativo como patrón en complemento a dos con el ancho que hayas elegido.
Desplaza y suma. Cada 1 del multiplicador aporta una copia del multiplicando desplazada a la izquierda tantas posiciones como indique ese dígito, y se suman las copias. 1011 por 101 es 110111, porque 101 tiene bits en las posiciones 0 y 2, lo que da 1011 más 101100. En decimal eso es 11 por 5 igual a 55.
Es una división entera: obtienes un cociente y un resto, no una fracción decimal. 1100 dividido entre 101 es 10 con resto 10, que en decimal es 12 dividido entre 5 igual a 2 con resto 2. Si multiplicas el cociente por el divisor y sumas el resto debes recuperar el número original, algo que esta página muestra como paso de comprobación.
11111111 ya está en binario; como número decimal es 255, y en hexadecimal FF. Son ocho bits en 1, el mayor valor que puede contener un byte sin signo. En el otro sentido, el número decimal 11111111 es 1010100110001011000111 en binario.
El número decimal 11 es 1011 en binario, porque 8 más 2 más 1 es igual a 11. Si te referías al número binario 11, eso es 3 en decimal.
Multiplica cada dígito por 2 elevado a su posición, contando desde 0 por la derecha, y suma los resultados. 1011 es 1 por 8 más 0 por 4 más 1 por 2 más 1 por 1, es decir 11. Solo los bits en 1 aportan algo, así que en la práctica sumas los valores posicionales que contienen un 1.
Divide repetidamente entre 2 y guarda los restos, luego léelos del último al primero. 255 entre 2 es 127 con resto 1, y al repetir hasta que el cociente llega a 0 obtienes ocho restos iguales a 1, así que 255 es 11111111. La tabla de división de esta página enumera todos esos pasos.
Es la forma en que los ordenadores guardan los números enteros negativos. Con un ancho fijo, un valor negativo se guarda como el total de ese ancho menos la magnitud, así que con 8 bits el menos 5 se guarda como 256 menos 5, es decir 251, escrito 11111011. El bit más alto acaba siendo el signo, y la suma corriente funciona entonces sin cambios para los negativos.
Un byte sin signo guarda de 0 a 255, así que 300 no cabe. Lo que se guarda es 300 menos 256, es decir 44. El acarreo que sale del bit más alto sencillamente se descarta. Fija el ancho en 8 bits en esta página y verás el 300 exacto y el 44 almacenado uno al lado del otro.
Un circuito puede mantener dos niveles de tensión de forma fiable mucho más fácilmente que diez. Con dos estados hay un margen amplio entre ellos, así que el ruido no convierte un dígito en otro. Todos los números, instrucciones y caracteres que maneja una máquina se construyen con esos dos estados.
Un dígito hexadecimal son exactamente cuatro bits, así que un byte son siempre dos dígitos hexadecimales y una palabra de 32 bits son siempre ocho. Esa relación fija convierte el hexadecimal en una abreviatura que puedes leer de un vistazo a partir de un valor binario, y por eso lo usan las direcciones de memoria y los volcados de bytes. El octal cumple el mismo papel para grupos de tres bits.
Cada dígito octal son tres bits, uno por permiso, en el orden lectura, escritura y ejecución. 7 es 111, así que el propietario obtiene los tres; 5 es 101, así que el grupo y los demás obtienen lectura y ejecución pero no escritura. El conjunto es 111101101.
Para un valor sin signo, los suficientes para que 2 elevado a esa potencia lo supere: 255 necesita 8 bits y 256 necesita 9. Para un valor con signo un bit se va al signo, así que 8 bits cubren de menos 128 a 127. La tabla de anchos de esta página enumera los límites exactos para 8, 16, 32 y 64 bits.