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.
| Posición (de derecha a izquierda) | Valor en binario | Valor en hexadecimal |
|---|---|---|
| 1.ª | 1 | 1 |
| 2.ª | 2 | 16 |
| 3.ª | 4 | 256 |
| 4.ª | 8 | 4.096 |
| 5.ª | 16 | 65.536 |
| 6.ª | 32 | 1.048.576 |
| 7.ª | 64 | 16.777.216 |
| 8.ª | 128 | 268.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.
- Escribí el número y debajo el valor de cada posición: 1 1 0 1 sobre 8 4 2 1.
- 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.
- Ignorá los lugares que tienen un 0 (acá, el del 2).
- 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:
- 45 ÷ 2 = 22, resto 1
- 22 ÷ 2 = 11, resto 0
- 11 ÷ 2 = 5, resto 1
- 5 ÷ 2 = 2, resto 1
- 2 ÷ 2 = 1, resto 0
- 1 ÷ 2 = 0, resto 1
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.
| Decimal | Binario (4 bits) | Octal | Hexadecimal |
|---|---|---|---|
| 0 | 0000 | 0 | 0 |
| 1 | 0001 | 1 | 1 |
| 2 | 0010 | 2 | 2 |
| 3 | 0011 | 3 | 3 |
| 4 | 0100 | 4 | 4 |
| 5 | 0101 | 5 | 5 |
| 6 | 0110 | 6 | 6 |
| 7 | 0111 | 7 | 7 |
| 8 | 1000 | 10 | 8 |
| 9 | 1001 | 11 | 9 |
| 10 | 1010 | 12 | A |
| 11 | 1011 | 13 | B |
| 12 | 1100 | 14 | C |
| 13 | 1101 | 15 | D |
| 14 | 1110 | 16 | E |
| 15 | 1111 | 17 | F |
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.
- 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.
- Si el dígito no corresponde a la base (un 2 en binario, por ejemplo), la herramienta te lo avisa.
- 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.
- 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
- Leer los restos al revés: en las divisiones sucesivas el primer resto es el dígito de más a la derecha, no el de más a la izquierda.
- Olvidar los ceros a la izquierda cuando hacen falta: 13 son 1101, pero como byte son 00001101. Importa cuando el largo es parte del dato, como en un color o en una máscara de red.
- Confundir la letra O con el cero o la B hexadecimal (11) con un 8 al copiar. En hexadecimal las letras valen igual en mayúscula y minúscula, pero no son lo mismo que un dígito.
- Dejar el prefijo 0x o el signo # al convertir: son solo marcas de que el número es hexadecimal y hay que sacarlos antes de pegar.
- Pensar que 10 en binario es diez: es dos. El mismo «10» vale 2, 10 o 16 según la base.
Ejercicios resueltos para practicar
Intentá resolver cada uno antes de mirar la respuesta y comprobá después con la herramienta.
- Pasá 10110110 a decimal y a hexadecimal. Respuesta: 128 + 32 + 16 + 4 + 2 = 182; en grupos de cuatro, 1011 0110 = B6.
- Pasá 200 a binario y a hexadecimal. Respuesta: 11001000 y C8 (12 × 16 + 8 = 200).
- Pasá 7F a binario. Respuesta: 7 = 0111 y F = 1111, entonces 01111111, que en decimal es 127.
- Escribí «OK» en binario. Respuesta: O es 79 y K es 75, es decir 01001111 01001011.
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.