Informática
Conversión entre bases numéricas
Escribe el número, indica la base de partida y obtén todas las demás, además del complemento a dos en el tamaño de palabra que elijas.
Por qué binario, octal y hexadecimal
Una base no es más que el número de cifras disponibles antes de tener que pasar a la posición siguiente. En base diez hay diez, en base dos solo cero y uno, en base dieciséis hacen falta dieciséis y para las últimas seis se usan las letras de la A a la F. El valor de un número no cambia con la base: cambia solo cómo se escribe.
El binario existe porque un circuito distingue de forma fiable dos estados y no diez. El hexadecimal existe porque el binario resulta ilegible para una persona: cada cifra hexadecimal corresponde exactamente a cuatro bits, así que la conversión entre ambos es una sustitución directa grupo a grupo, sin cálculos. Lo mismo vale para el octal, donde una cifra son tres bits.
El complemento a dos es la manera en que los ordenadores representan los números negativos, y su elegancia está en que la suma funciona sin reglas especiales de signo. Un número negativo se obtiene invirtiendo todos los bits de su valor absoluto y sumando uno: en ocho bits, −5 se convierte en 11111011. De ahí se sigue que el intervalo no es simétrico, porque el cero ocupa un sitio en la mitad positiva: con n bits se va de −2ⁿ⁻¹ a 2ⁿ⁻¹−1.
Errores frecuentes
- Confundir el bit de signo con un signo menos: en complemento a dos el bit más significativo vale −2ⁿ⁻¹, no «menos». Por eso 10000000 en ocho bits es −128 y no −0.
- Olvidar que el rango positivo es uno más corto: en ocho bits con signo se llega a 127, no a 128. Es la causa de buena parte de los desbordamientos en los ejercicios.
- Leer el hexadecimal como decimal: 10 en hexadecimal vale 16, no diez. Cuando el contexto no está claro conviene usar los prefijos 0x y 0b.
Preguntas frecuentes
¿Cómo se convierte un número de binario a decimal?
Se multiplica cada cifra por la potencia de dos correspondiente a su posición, contando desde la derecha a partir de cero, y se suman los resultados. 10110110 vale 128+32+16+4+2 = 182.
¿Cómo se convierte de decimal a binario?
Se divide repetidamente entre dos anotando los restos, y se leen los restos del último al primero. También se pueden restar las potencias de dos empezando por la mayor que quepa.
¿Cómo se calcula el complemento a dos de un número negativo?
Se escribe el valor absoluto en binario con el ancho elegido, se invierten todos los bits y se suma uno. Para −5 en ocho bits: 00000101 pasa a 11111010 y sumando uno da 11111011.
¿Por qué se usa tanto el hexadecimal en informática?
Porque una cifra hexadecimal equivale exactamente a cuatro bits, así que un byte se escribe con solo dos cifras. La conversión con el binario es inmediata y no requiere ningún cálculo, a diferencia de la conversión con el decimal.
Cómo funciona este cálculo
Valor de un número en base b con cifras cₙ…c₁c₀: V = Σ cᵢ · bⁱ, con i empezando en cero por la derecha. De decimal a base b: divisiones sucesivas entre b, leyendo los restos en orden inverso. Correspondencia directa: una cifra hexadecimal son 4 bits y una octal son 3 bits, así que binario-hexadecimal y binario-octal se convierten agrupando bits. Complemento a dos en n bits: para un valor v no negativo el patrón es el propio v; para v negativo es 2ⁿ + v, que se obtiene invirtiendo los bits de |v| y sumando 1. Intervalo representable con signo: de −2ⁿ⁻¹ a 2ⁿ⁻¹ − 1.
Cálculos relacionados
Álgebra de Boole
Tabla de verdad de una expresión lógica con AND, OR, NOT y XOR.
Conversor Base64
De texto, entero, hexadecimal o binario a Base64 y viceversa, con los grupos de 6 bits explicados.
Calculadora de subredes IPv4
Red, broadcast, hosts utilizables y máscaras a partir de una dirección IPv4 con prefijo CIDR.
Operaciones bit a bit
AND, OR, XOR, NOT, desplazamientos y rotaciones sobre enteros de 8, 16, 32 o 64 bits, con los bits a la vista.