Binario, decimal y hexadecimal: cómo pasar de uno a otro

Convertir entre bases parece magia hasta que ves que es siempre la misma idea: cada dígito vale según el lugar que ocupa. Acá aprendés a pasar de binario a decimal y de decimal a binario a mano, a leer el hexadecimal sin miedo y a traducir texto a bits, con cuentas resueltas y una tabla del 0 al 15 para tener a mano.

Actualizado:

Qué es un sistema posicional

En el número decimal 4.095 el 4 no vale 4: vale 4.000, porque está en el lugar de los miles. Cada posición multiplica al dígito por una potencia de 10 (1, 10, 100, 1.000…). Ese es el sistema posicional, y la base es la cantidad de dígitos distintos que se usan: diez en el decimal.

El binario funciona igual, pero con base 2: solo existen el 0 y el 1, y cada lugar vale el doble que el anterior. El hexadecimal usa base 16: los dieciséis dígitos son 0 a 9 y las letras A a F, y cada lugar vale 16 veces el anterior. Las computadoras trabajan en binario porque un circuito solo tiene que distinguir dos estados (apagado y encendido), y el hexadecimal es una forma corta de escribir esos bits.

Lo que vale cada lugar. Aprenderte de memoria las potencias de 2 hasta 128 te ahorra casi todas las cuentas.
Posición (de derecha a izquierda)Valor en binarioValor en hexadecimal
1.ª11
2.ª216
3.ª4256
4.ª84.096
5.ª1665.536
6.ª321.048.576
7.ª6416.777.216
8.ª128268.435.456

De binario a decimal, a mano

Se escribe cada dígito con el valor de su lugar y se suman solo los lugares donde hay un 1. Ejemplo con 1101: de derecha a izquierda los lugares valen 1, 2, 4 y 8.

  1. Escribí el número y debajo el valor de cada posición: 1 1 0 1 sobre 8 4 2 1.
  2. Fijate qué hay en cada lugar: un 1 en el del 8, un 1 en el del 4, un 0 en el del 2 y un 1 en el del 1.
  3. Ignorá los lugares que tienen un 0 (acá, el del 2).
  4. Sumá: 8 + 4 + 0 + 1 = 13. Entonces 1101 en binario es 13 en decimal.

Con más dígitos es lo mismo: 11111111 es 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255, el mayor valor que cabe en 8 bits. Y 10110110 es 128 + 32 + 16 + 4 + 2 = 182.

De decimal a binario, por divisiones sucesivas

Se divide el número por 2 una y otra vez, anotando el resto de cada división (siempre 0 o 1), hasta llegar a cociente 0. Los restos, leídos de abajo hacia arriba, son el número binario. Ejemplo con 45:

Leyendo los restos de abajo hacia arriba queda 101101. Para comprobarlo, sumá: 32 + 8 + 4 + 1 = 45.

Hay un método alternativo que muchos prefieren: restar potencias de 2 de mayor a menor. Para 200: entra el 128 (queda 72), entra el 64 (queda 8), no entran 32, 16, pero sí el 8 (queda 0). Los lugares usados son 128, 64 y 8, así que 200 = 11001000.

Hexadecimal: dieciséis dígitos y una tabla para tener a mano

Como no existen dígitos para 10 a 15, se usan las letras A, B, C, D, E y F. Un dígito hexadecimal equivale exactamente a cuatro bits (un «nibble»), y por eso conviene tanto: un byte, de 8 bits, se escribe con solo dos dígitos hexadecimales.

Para pasar de hexadecimal a decimal, multiplicá cada dígito por la potencia de 16 de su lugar y sumá. Por ejemplo, 3F = 3 × 16 + 15 = 63 y A3 = 10 × 16 + 3 = 163.

Del 0 al 15 en las cuatro bases que muestra la herramienta.
DecimalBinario (4 bits)OctalHexadecimal
0000000
1000111
2001022
3001133
4010044
5010155
6011066
7011177
81000108
91001119
10101012A
11101113B
12110014C
13110115D
14111016E
15111117F

Por qué se usa el hexadecimal: bytes, colores y direcciones

Un byte son 8 bits y va de 0 a 255 (00000000 a 11111111). Escribir bits a mano es lento y propenso a errores; en hexadecimal el mismo byte son dos caracteres, de 00 a FF. Para pasar de binario a hexadecimal, separá los bits en grupos de cuatro desde la derecha y reemplazá cada grupo con su dígito de la tabla. Ejemplo: 11010111 se parte en 1101 y 0111, que son D y 7, así que vale D7. Como decimal es 13 × 16 + 7 = 215.

El caso más conocido son los colores web. En #FF8800 hay tres bytes: FF para el rojo (255), 88 para el verde (136) y 00 para el azul (0). Es un naranja intenso: todo el rojo, algo más de la mitad del verde y nada de azul. El hexadecimal también aparece en direcciones de memoria, en códigos de error y en identificadores de red.

De texto a binario con ASCII

Una computadora guarda cada letra como un número, y ese número como bits. En la tabla ASCII la A es 65, que en binario de 8 bits es 01000001. La palabra «Hi» son dos letras: H es 72 (01001000) e i es 105 (01101001), así que se escribe 01001000 01101001. Con «Hola» son 72, 111, 108 y 97, es decir 01001000 01101111 01101100 01100001, o en hexadecimal 48 6F 6C 61.

La herramienta usa la codificación UTF-8: para letras básicas del inglés cada carácter ocupa un byte de 8 bits, pero una ñ, una letra con tilde o un emoji ocupan varios bytes, por lo que dan más de 8 bits. Por ejemplo, la ñ son dos bytes: 11000011 10110001 (C3 B1 en hexadecimal).

Cómo hacer todo esto con la herramienta

El conversor «Binario, decimal y hexadecimal» sirve para comprobar tus cuentas a mano o para resolver números largos sin errores.

  1. Escribí el número en el campo de su base: «Decimal (base 10)», «Binario (base 2)», octal o «Hexadecimal (base 16)». Los otros tres se completan solos.
  2. Si el dígito no corresponde a la base (un 2 en binario, por ejemplo), la herramienta te lo avisa.
  3. Para texto, escribilo en el campo «Texto» y mirá «Binario (8 bits por carácter)» y el hexadecimal por bytes. También podés pegar bits en grupos de 8 para volver al texto.
  4. Para bases raras, usá «Cualquier base (de 2 a 36)»: elegís la base de origen, la de destino y el número.

Los límites: solo convierte enteros no negativos (sin decimales ni signo) y no pone ceros a la izquierda por vos, así que si querés 8 bits fijos tenés que completar a mano (13 es 00001101). Nada de lo que escribís sale de tu navegador.

Errores comunes

Ejercicios resueltos para practicar

Intentá resolver cada uno antes de mirar la respuesta y comprobá después con la herramienta.

Preguntas frecuentes

¿Cómo paso 1101 de binario a decimal?

Sumás los valores de los lugares donde hay un 1: 8 + 4 + 1 = 13. El segundo dígito desde la derecha es un 0, así que el 2 no se suma.

¿Cuánto es 255 en binario y en hexadecimal?

255 es 11111111 en binario y FF en hexadecimal. Es el mayor valor que cabe en un byte de 8 bits.

¿Por qué el hexadecimal usa letras?

Porque necesita dieciséis símbolos distintos y el sistema decimal solo aporta diez (0 a 9). Por eso A vale 10, B vale 11, C vale 12, D vale 13, E vale 14 y F vale 15.

¿Cuántos números distintos se pueden escribir con 8 bits?

256, del 0 al 255. En general, con n bits se pueden representar 2 elevado a n valores.

¿La herramienta convierte números negativos o con decimales?

No, solo enteros no negativos. Para texto usa UTF-8, así que las letras con tilde y los emojis dan más de 8 bits.