Conversor de bases numéricas: binario, hexadecimal, decimal, octal y base 2–36
Convierte enteros de cualquier tamaño entre binario, octal, decimal, hexadecimal, base 32, base 36 y cualquier base de 2 a 36, con vista de complemento a dos.
Escribe en cualquier campo. Se aceptan los prefijos 0x, 0b y 0o, un signo menos inicial y espacios, comas o guiones bajos entre los dígitos.
16 bits · 2 bytes (magnitud) · 5 dígitos decimales
Complemento a dos (ancho fijo)
| Ancho | Patrón de bits | Hex | Con signo | Sin signo |
|---|---|---|---|---|
| 8 bits desbordamiento, truncado | 1110 1111 | 0xEF | -17 | 239 |
| 16 bits | 1011 1110 1110 1111 | 0xBEEF | -16657 | 48879 |
| 32 bits | 0000 0000 0000 0000 1011 1110 1110 1111 | 0x0000BEEF | 48879 | 48879 |
| 64 bits | 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 1011 1110 1110 1111 | 0x000000000000BEEF | 48879 | 48879 |
Si el valor está fuera del rango de un ancho, el patrón contiene solo los bits bajos, que es lo que hace una conversión a int8_t/int16_t/int32_t/int64_t en C, Java o Go.
Funciona por completo en tu navegador. Nada de lo que introduces se nos envía ni se guarda. Ver todas las herramientas gratis.
¿Encontraste un problema o algo que podría mejorar? Leemos todos los mensajes y lo arreglamos rápido.
Este conversor de bases numéricas muestra un entero en binario, octal, decimal, hexadecimal, base 32 y base 36 al mismo tiempo, además de la base de 2 a 36 que elijas. Todas las filas son editables: escribe un valor hexadecimal en el campo hexadecimal y el binario, el decimal y el resto se actualizan. Acepta prefijos como 0x y 0b, el signo menos y espacios, comas o guiones bajos entre los dígitos, así que puedes pegar directamente desde código o una hoja de datos. Para convertir muchos valores a la vez, cambia al modo lista, pega un número por línea y obtén una tabla con todas las bases que puedes copiar o descargar en CSV.
Los números se tratan como enteros de precisión arbitraria, así que un ID de 64 bits, un valor hash de 256 bits o un decimal de 300 dígitos se convierten con exactitud, mientras que las herramientas basadas en los números normales de JavaScript redondean sin avisar todo lo que pase de 9 007 199 254 740 991. La tabla de complemento a dos muestra cómo se almacena el valor en enteros de 8, 16, 32 y 64 bits con y sin signo, y señala el desbordamiento. Las fracciones se rechazan con una explicación en lugar de convertirse de forma aproximada: muchas fracciones decimales no tienen una forma binaria exacta.
Cómo usarla
- Escribe un número en el campo de la base en la que está escrito, por ejemplo 0xBEEF en Hexadecimal o 1011 en Binario.
- Lee las demás bases en los otros campos; copia cualquiera con su botón.
- Para una base poco habitual, elígela en el menú Cualquier base y escribe en ese campo.
- Consulta la tabla de complemento a dos para ver el patrón de bits con un ancho fijo, o cómo se ve un número negativo en hexadecimal.
- Desactiva la agrupación de dígitos si necesitas la cadena sin más para el código.
Preguntas frecuentes
¿Puedo convertir una lista de números a la vez?
Sí. Elige “Lista de números (por lotes)”, pega hasta 2000 números, uno por línea, y elige la base de entrada (o déjala en Auto, que interpreta los prefijos 0x, 0b y 0o). Cada línea se convierte a decimal, binario, octal, hexadecimal, base 32, base 36 y una base adicional que elijas; una línea que no se puede interpretar muestra su propio error y las demás se convierten igualmente. Copia la tabla o descárgala en CSV.
¿Cómo convierto binario a decimal?
Multiplica cada dígito binario por 2 elevado a su posición, contando desde 0 por la derecha, y suma los resultados. Para 1011: 1×8 + 0×4 + 1×2 + 1×1 = 11. O escríbelo en el campo Binario de arriba y lee el campo Decimal.
¿Cómo convierto hexadecimal a decimal?
Cada dígito hexadecimal vale 16 veces el dígito que tiene a su derecha, y de la A a la F representan de 10 a 15. Para 0x2F: 2×16 + 15 = 47. Cada dígito hexadecimal corresponde además a exactamente cuatro dígitos binarios (F = 1111), por eso el hexadecimal se usa como forma compacta de escribir binario.
¿Qué es el complemento a dos?
Es la forma en que los ordenadores almacenan los enteros negativos. En un entero de n bits, un número negativo −x se almacena como 2^n − x. Así, −1 en 8 bits es 11111111 (0xFF), y −128 es 10000000. El mismo patrón de bits se lee como 255 sin signo o −1 con signo; la tabla muestra ambos. La ventaja es que la suma y la resta funcionan igual para valores con y sin signo.
¿Por qué mi conversor da resultados incorrectos con números grandes?
La mayoría de los conversores usan números de JavaScript, que son de coma flotante de 64 bits y solo representan enteros con exactitud hasta 2^53 − 1 (9 007 199 254 740 991). Por encima, los dígitos se redondean sin avisar, así que un ID de base de datos de 64 bits o un ID snowflake de Twitter/X se convierte mal. Este conversor usa BigInt, que no tiene límite de tamaño.
¿Puedo convertir fracciones como 0.1 a binario?
Aquí no, a propósito. 0.1 en decimal es una fracción periódica en binario (0.000110011…), así que cualquier respuesta finita es una aproximación, y ese redondeo es justo la razón por la que 0.1 + 0.2 no da 0.3 en la mayoría de los lenguajes de programación. Esta herramienta convierte enteros con exactitud; para trabajar con fracciones, conviértelas antes en enteros (por ejemplo, guarda céntimos en lugar de dólares).
Dónde aparece cada base
• Binario (base 2): flags de bits, máscaras de red, registros de hardware, campos de bits de permisos.
• Octal (base 8): permisos de archivos en Unix, donde 755 significa rwxr-xr-x porque cada dígito octal son exactamente tres bits (propietario, grupo, otros).
• Hexadecimal (base 16): direcciones de memoria, códigos de color (#244B3F), volcados de bytes, hashes, direcciones MAC y puntos de código Unicode (U+1F332).
• Base 32 (0–9, A–V): identificadores compactos. Ten en cuenta que el Base32 del RFC 4648 que usan los secretos TOTP es una codificación de bytes con el alfabeto A–Z, 2–7, no esta base numérica.
• Base 36 (0–9, A–Z): la representación alfanumérica más compacta que no distingue mayúsculas de minúsculas, usada para ID cortos y acortadores de URL; Number.prototype.toString(36) de JavaScript la genera.
Enteros de ancho fijo y desbordamiento
Los lenguajes de programación almacenan los enteros con anchos fijos: int8/uint8 (un byte), int16, int32 e int64. Un entero con signo de n bits abarca de −2^(n−1) a 2^(n−1) − 1, así que un int8 va de −128 a 127 y un int32 de −2 147 483 648 a 2 147 483 647. La versión sin signo abarca de 0 a 2^n − 1.
Cuando un valor no cabe, la mayoría de los lenguajes conservan solo los n bits más bajos. Por eso 200 almacenado en un int8 se lee como −56, y 2 147 483 647 + 1 en un int de 32 bits se convierte en −2 147 483 648. La tabla de complemento a dos muestra ese patrón truncado y marca la fila como desbordada, lo que facilita predecir qué producirá una conversión de tipo en C, Java, Go o Rust.
Herramientas gratis relacionadas
- Selector y conversor de colores — Captura cualquier color de cualquier parte de tu pantalla o convierte al instante entre HEX, RGB y HSL.
- Generador de hash — Calcula el hash de textos o archivos con MD5, SHA-1, SHA-256, SHA-384, SHA-512 y CRC32, verifica una suma de comprobación o calcula un HMAC. Los archivos nunca salen de tu dispositivo.
- Conversor de timestamp Unix — Convierte segundos, milisegundos, microsegundos o nanosegundos epoch en fechas de cualquier zona horaria, y al revés. Reloj en vivo, modo por lotes y fragmentos de código.
- Calculadora online — Una calculadora limpia, al estilo del iPhone, que funciona con el teclado y el teclado numérico. Porcentaje, cambio de signo, historial y copiar, sin anuncios y sin instalar nada.