Saltar al contenido
mathbehind

Conversor de bases numéricas

Convierte un número entre binario, octal, decimal y hexadecimal al instante, en cualquier dirección.

Tus números

Solo dígitos válidos para la base seleccionada abajo (por ejemplo, solo 0-1 en binario).

Decimal (base 10)

255

Binario (base 2)
11111111
Octal (base 8)
377
Hexadecimal (base 16)
FF

Binario, octal, decimal y hexadecimal son formas de escribir el mismo número usando una cantidad distinta de símbolos: base 2, 8, 10 y 16 respectivamente. Los programadores pasan de una a otra constantemente: el binario refleja directamente cómo guarda un valor el ordenador, el hexadecimal es una forma compacta de escribir datos binarios (cada dígito hexadecimal equivale exactamente a 4 bits) y el decimal es lo que todo el mundo lee.

Cómo funciona

Introduce un valor e indica en qué base está escrito; el conversor lo interpreta internamente en esa base.

Las demás bases se obtienen pasando por el decimal: el valor se lee como un número normal y después se vuelve a expresar con los símbolos del binario, el octal y el hexadecimal.

El hexadecimal usa los dígitos 0-9 seguidos de A-F para 10-15; el octal usa solo 0-7; el binario usa solo 0-1. Si tu valor contiene un carácter no válido para la base seleccionada (como una "A" con "Decimal" seleccionado), solo se interpretan los dígitos válidos del principio, así que revisa la base elegida si un resultado te parece inesperadamente pequeño.

Un ejemplo resuelto

Al introducir 255 con "Decimal" seleccionado se obtiene 11111111 en binario, 377 en octal y FF en hexadecimal, el valor máximo que cabe en un solo byte (8 bits).

Más ejemplos

El hexadecimal D6 es 214 en decimal, 11010110 en binario y 326 en octal. Cada dígito hexadecimal equivale exactamente a cuatro dígitos binarios: D es 1101 y 6 es 0110.

Errores frecuentes

  • Leer como decimal un número con cero inicial como 0755 cuando el lenguaje lo trata como octal.
  • Olvidar los prefijos: 0x para hexadecimal, 0b para binario, 0o para octal.
  • Mezclar valores con signo y sin signo: 0xFF es 255 sin signo, pero −1 como byte con signo.
  • Agrupar los dígitos binarios desde la izquierda en lugar de desde la derecha.

Preguntas frecuentes

¿Por qué el hexadecimal usa letras?

El hexadecimal es base 16, así que necesita 16 símbolos distintos. Cuando se acaban los dígitos 0-9, continúa con A (10), B (11), C (12), D (13), E (14) y F (15), de modo que cada valor de 0 a 15 tiene un símbolo de un solo carácter.

¿Por qué el hexadecimal es tan común en programación si el ordenador usa binario?

Cada dígito hexadecimal representa exactamente 4 bits, por lo que un byte (8 bits) son siempre exactamente 2 dígitos hexadecimales. Eso hace del hexadecimal una forma mucho más compacta y legible de escribir datos binarios: los códigos de color, las direcciones de memoria y los valores de byte casi siempre se muestran en hexadecimal y no en binario puro.

¿Puede convertir números negativos?

Este conversor trabaja con enteros no negativos. Los números negativos en binario o hexadecimal suelen representarse en complemento a dos, que depende de un ancho de bits fijo (8, 16, 32 bits, etc.) que este conversor de uso general no presupone.

¿Cuál es el número más grande que puede manejar con precisión?

Hasta el límite de enteros seguros de JavaScript, 2^53 − 1 (unos 9 mil billones), muy por encima de lo que necesitará cualquier conversión manual.

¿Cómo convierto binario a decimal a mano?

Asigna a cada dígito un valor posicional que se duplica de derecha a izquierda: 1, 2, 4, 8 y así sucesivamente. Suma los valores posicionales donde el dígito es 1. Para 1011 sería 8 + 0 + 2 + 1 = 11.