Cómo representa la información el ordenador
Hasta ahora hemos hablado de datos e instrucciones, pero todavía falta una pregunta clave: ¿cómo se codifica todo eso dentro de la máquina? La respuesta empieza por el sistema binario.
7.1. Sistemas de numeración: decimal, binario y hexadecimal
Section titled “7.1. Sistemas de numeración: decimal, binario y hexadecimal”Un sistema de numeración es un conjunto de símbolos y reglas que se utilizan para representar cantidades. El número de símbolos distintos que utiliza recibe el nombre de base.
En la vida cotidiana usamos normalmente el sistema decimal, de base 10. Sus símbolos son:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9En informática aparecen otros sistemas porque se adaptan mejor a la forma en que los ordenadores representan la información:
| Sistema | Base | Símbolos | Uso habitual |
|---|---|---|---|
| Decimal | 10 | 0-9 | Uso humano general |
| Binario | 2 | 0, 1 | Representación interna del ordenador |
| Hexadecimal | 16 | 0-9, A-F | Direcciones, colores, memoria, depuración |
7.2. Bits, bytes y valores representables
Section titled “7.2. Bits, bytes y valores representables”El bit es la unidad mínima de información. Puede representar dos estados posibles:
0 o 1Un byte u octeto está formado por 8 bits:
1 byte = 8 bitsCon n bits se pueden representar 2^n combinaciones distintas. Si solo se representan números naturales empezando en 0, el valor máximo será:
2^n - 1Ejemplos:
| Bits | Combinaciones | Rango si son naturales sin signo |
|---|---|---|
| 1 | 2 | 0 a 1 |
| 4 | 16 | 0 a 15 |
| 8 | 256 | 0 a 255 |
| 16 | 65 536 | 0 a 65 535 |
7.3. Conversión básica entre decimal, binario y hexadecimal
Section titled “7.3. Conversión básica entre decimal, binario y hexadecimal”Para convertir un número decimal entero a binario, se divide sucesivamente entre 2 y se anotan los restos. El resultado se obtiene leyendo los restos desde el último hasta el primero.
Ejemplo: convertir 13 a binario.
13 / 2 = 6, resto 16 / 2 = 3, resto 03 / 2 = 1, resto 11 / 2 = 0, resto 1Leyendo los restos al revés:
13₁₀ = 1101₂Para convertir de binario a decimal, se multiplica cada bit por la potencia de 2 que corresponde a su posición, empezando por la derecha con 2^0.
Ejemplo:
1101₂ = (1 · 2^3) + (1 · 2^2) + (0 · 2^1) + (1 · 2^0) = 8 + 4 + 0 + 1 = 13₁₀El sistema hexadecimal es muy útil en informática porque cada dígito hexadecimal equivale exactamente a 4 bits:
2^4 = 16Tabla básica:
| Decimal | Binario | Hexadecimal |
|---|---|---|
| 0 | 0000 | 0 |
| 1 | 0001 | 1 |
| 2 | 0010 | 2 |
| 3 | 0011 | 3 |
| 4 | 0100 | 4 |
| 5 | 0101 | 5 |
| 6 | 0110 | 6 |
| 7 | 0111 | 7 |
| 8 | 1000 | 8 |
| 9 | 1001 | 9 |
| 10 | 1010 | A |
| 11 | 1011 | B |
| 12 | 1100 | C |
| 13 | 1101 | D |
| 14 | 1110 | E |
| 15 | 1111 | F |
Ejemplo:
1101 0110₂ = D6₁₆Separamos el número binario en grupos de 4 bits, de derecha a izquierda, y convertimos cada grupo a su equivalente hexadecimal.
7.4. Unidades de información: SI e IEC
Section titled “7.4. Unidades de información: SI e IEC”En informática se usan múltiplos del byte para medir memoria y almacenamiento. Aquí aparece una diferencia importante entre unidades decimales y unidades binarias.
El Sistema Internacional (SI) usa potencias de 10:
| Unidad SI | Valor |
|---|---|
| 1 kB | 1 000 bytes |
| 1 MB | 1 000 000 bytes |
| 1 GB | 1 000 000 000 bytes |
El estándar IEC usa potencias de 2:
| Unidad IEC | Valor |
|---|---|
| 1 KiB | 1 024 bytes |
| 1 MiB | 1 048 576 bytes |
| 1 GiB | 1 073 741 824 bytes |
Por eso puede parecer que un disco tiene menos capacidad cuando lo muestra el sistema operativo. Un fabricante puede anunciar 500 GB usando unidades decimales, mientras que el sistema puede mostrar una cifra menor en GiB.
7.5. Texto: ASCII, Unicode y UTF-8
Section titled “7.5. Texto: ASCII, Unicode y UTF-8”Los ordenadores también necesitan representar letras, signos de puntuación, espacios, símbolos y caracteres de distintos idiomas. Para ello utilizan tablas de codificación, donde cada carácter se asocia a un número.
Uno de los estándares más conocidos es ASCII, que utiliza 7 bits y permite representar 128 caracteres. Incluye letras del alfabeto inglés, números, signos de puntuación y caracteres de control.
Ejemplos:
| Código decimal | Carácter |
|---|---|
| 65 | A |
| 73 | I |
| 97 | a |
| 32 | espacio |
El problema de ASCII es que resulta insuficiente para representar todos los idiomas y símbolos actuales. Por eso se utiliza Unicode, un estándar diseñado para representar caracteres de prácticamente todos los sistemas de escritura.
La codificación más utilizada de Unicode en la web y en muchos sistemas actuales es UTF-8. Es compatible con ASCII en sus primeros caracteres y usa una cantidad variable de bytes según el carácter.
Conviene distinguir ambos conceptos: Unicode define qué caracteres existen y les asigna un punto de código; UTF-8 define cómo se codifican esos puntos de código en una secuencia de bytes. Por eso Unicode no es una simple ampliación de ASCII ni UTF-8 una tabla distinta de caracteres.
7.6. Lógica booleana y tablas de verdad
Section titled “7.6. Lógica booleana y tablas de verdad”El álgebra booleana trabaja con dos valores:
0 = falso1 = verdaderoEsta lógica es fundamental en informática porque los circuitos digitales funcionan con dos estados eléctricos que se interpretan como 0 y 1.
Las operaciones básicas son:
| Operación | Significado | Resultado |
|---|---|---|
| NOT A | Niega el valor | Vale 1 si A vale 0 |
| A AND B | Conjunción | Vale 1 solo si A y B valen 1 |
| A OR B | Disyunción | Vale 1 si A o B valen 1 |
| A XOR B | Disyunción exclusiva | Vale 1 si A y B son diferentes |
Tablas de verdad:
| A | NOT A |
|---|---|
| 0 | 1 |
| 1 | 0 |
| A | B | A AND B | A OR B | A XOR B |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 |
| 1 | 0 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 |
Estas operaciones se usan en comparaciones, condiciones, circuitos, permisos, búsquedas y muchas decisiones internas de los sistemas.
7.7. Ejercicios de aplicación
Section titled “7.7. Ejercicios de aplicación”Para trabajar este bloque, resuelve los ejercicios 1 a 3 con guía del docente y contraste colectivo; utiliza los ejercicios 4 a 7 como aplicación con apoyo de los apuntes; reserva los ejercicios 8 a 10 para trabajo autónomo o de ampliación.
-
Identifica la base. Indica la base de los sistemas decimal, binario y hexadecimal, y escribe qué símbolos usa cada uno.
-
Conversión básica. Convierte
18de decimal a binario y10110de binario a decimal. -
Binario y hexadecimal. Convierte
1111 0010a hexadecimal y3Ca binario, agrupando siempre en bloques de cuatro bits. -
Valores representables. Indica cuántas combinaciones se pueden formar con 4, 8 y 16 bits. Señala el valor máximo sin signo en cada caso.
-
Tipo test. Marca la afirmación correcta: a) un byte contiene 10 bits; b)
kBykbsignifican lo mismo; c) un dígito hexadecimal representa cuatro bits; d) UTF-8 solo puede representar letras inglesas. Justifica. -
SI e IEC. Explica por qué un disco anunciado como
500 GBpuede mostrar una capacidad menor cuando el sistema utilizaGiB. -
Lógica booleana. Completa los resultados de
1 AND 0,1 OR 0,1 XOR 1,NOT 0y construye la fila de tabla de verdad correspondiente aA=1,B=0. -
Ampliación: analiza una codificación. Una aplicación guarda el texto
Año 2026en UTF-8. Explica por qué no es seguro suponer que todos sus caracteres ocupan el mismo número de bytes. -
Ampliación: calcula y justifica. Un programa usa 12 bits para representar un valor sin signo. Calcula el número de combinaciones y el valor máximo. Explica qué ocurriría si intentara almacenar el siguiente valor.
-
Ampliación: diseña una regla lógica. Propón una condición booleana para permitir el acceso a un sistema cuando una persona tiene una cuenta válida y una contraseña correcta, pero no está bloqueada. Define las variables y escribe la expresión usando AND, OR y NOT.