Ideas clave
Los ordenadores guardan los números en base 2 y las personas los leen en base 8 o 16. Convertir entre bases, contar los bits que necesita un valor y leer valores con signo usan valores posicionales que son potencias de la base.
- Cada dígito se pondera con una potencia de la base. En binario los pesos son 1, 2, 4, 8, 16 y así sucesivamente desde la derecha.
- Un dígito hexadecimal representa 4 bits y un dígito octal 3 bits, así que agrupar los bits convierte directamente.
- Para dar códigos distintos a n elementos hacen falta ⌈log₂ n⌉ bits. n bits contienen 2ⁿ valores distintos.
- En complemento a dos de 8 bits un 1 inicial significa negativo. El valor es el valor sin signo menos 256.
Ecuaciones clave
value = Σ dᵢ × bⁱbits needed = ⌈log₂ n⌉n bits hold 2ⁿ valuestwo’s complement: value = unsigned − 2ⁿ when the top bit is 1
Ejemplo resuelto
El binario 101101 es 32 + 8 + 4 + 1 = 45. El hexadecimal 2F es 2 × 16 + 15 = 47. El octal 157 es 64 + 40 + 7 = 111. Dar códigos distintos a 200 elementos necesita 8 bits, porque 2⁷ = 128 es insuficiente y 2⁸ = 256 basta. El patrón de 8 bits 11110110 es 246 sin signo, así que en complemento a dos es 246 − 256 = −10. El patrón 10110111 tiene seis bits 1.
Errores comunes
- Leer los valores posicionales binarios desde la izquierda en lugar de dar peso 1 al dígito de más a la derecha.
- Redondear hacia abajo el número de bits. 200 elementos necesitan 8 bits, no 7.
- Tratar un patrón con 1 inicial como positivo en complemento a dos.
Práctica
Ponte a prueba con preguntas de práctica sobre este tema: Sistemas numéricos y datos