Dentro de un procesador hay miles de millones de interruptores diminutos. Cada uno solo puede estar encendido o apagado. Eso es todo lo que físicamente tiene una computadora — ni treses, ni sietes, ni…
Narración en inglés · subtítulos en inglés y 中文 que puedes cambiar
1.1
Por qué las computadoras usan binario
Las computadoras digitales representan datos usando dos estados lógicos, escritos como 1 y 0. Un sistema que usa solo dos dígitos se llama binario (base 2).
Las computadoras representan todos los datos — números, texto, sonido e imágenes — como cadenas binarias de 0s y 1s
Todo tipo de datos — números, texto, sonido e imágenes — debe convertirse a binario antes de que una computadora pueda usarlo. La computadora procesa este binario usando puertas lógicas, y lo almacena en registros (pequeños y rápidos depósitos dentro del procesador).
Un microprocesador contiene millones de transistores diminutos, cada uno un interruptor que está encendido (1) o apagado (0) — la base física del binario
1 Comprender cómo y por qué los ordenadores utilizan el binario para representar todo tipo de datos
• Cualquier tipo de dato debe convertirse a binario para ser procesado por un ordenador • Los datos se procesan mediante puertas lógicas y se almacenan en registros
2 (a) Comprender los sistemas numéricos decimal, binario y hexadecimal (b) Convertir entre (i) decimales positivos y binarios positivos (ii) decimales positivos y hexadecimales positivos (iii) hexadecimales positivos y binarios positivos
• El sistema decimal es una base 10 • El sistema binario es una base 2 • El sistema hexadecimal es una base 16 • Se utilizarán únicamente valores enteros • Conversiones en ambas direcciones, p. ej., de decimal a binario o de binario a decimal • Longitud máxima del número binario de 16 bits
3 Comprender cómo y por qué se utiliza el hexadecimal como un método beneficioso para la representación de datos
• Deben identificarse las áreas dentro de la informática en las que se utiliza el hexadecimal • El hexadecimal es más fácil de comprender para los seres humanos que el binario, ya que es una representación más corta del mismo
4 (a) Sumar dos enteros binarios positivos de 8 bits (b) Comprender el concepto de desbordamiento (overflow) y por qué ocurre en la suma binaria
• Se producirá un error de desbordamiento si el valor es mayor que 255 en un registro de 8 bits • Un ordenador o dispositivo tiene un límite predefinido que puede representar o almacenar, por ejemplo, 16 bits • Se produce un error de desbordamiento cuando se debe devolver un valor fuera de este límite
5 Realizar un corrimiento lógico binario sobre un entero binario positivo de 8 bits y comprender el efecto que esto tiene sobre el entero binario positivo
• Realizar corrimientos lógicos a la izquierda • Realizar corrimientos lógicos a la derecha • Realizar múltiples corrimientos • Los bits desplazados desde el extremo del registro se pierden y se introducen ceros en el extremo opuesto del registro • El entero binario positivo se multiplica o divide según el desplazamiento realizado • Se pierden el/los bit(s) más significativo(s) o menos significativo(s)
6 Utilizar el sistema numérico de complemento a dos para representar enteros binarios positivos y negativos de 8 bits
• Convertir un entero binario o decimal positivo a un entero de 8 bits en complemento a dos y viceversa • Convertir un entero binario o decimal negativo a un entero de 8 bits en complemento a dos y viceversa
Fuente: Plan de estudios Cambridge International
Contando en binario: 0 a 15
Un sistema numérico es una forma de escribir números usando un conjunto fijo de dígitos. Necesita tres de ellos.
Sistema
Base
Dígitos usados
Decimal
10
0–9
Binario
2
0 y 1
Hexadecimal
16
0–9 luego A–F
denario es el sistema de conteo normal (también llamado decimal).
binario usa solo 0 y 1.
hexadecimal (hex) usa dieciséis dígitos: 0–9, luego A, B, C, D, E, F equivalen a 10, 11, 12, 13, 14, 15.
La base indica cuántos dígitos diferentes utiliza un sistema.
Valor posicional
Cada columna en un número tiene un valor posicional. En binario, los valores se duplican de derecha a izquierda. Para un número de 8 bits, son:
128 64 32 16 8 4 2 1
Una tabla de valores posicionales de 8 bits: los 1 están debajo de los valores que suman 150
Un bit es un único 0 o 1. Ocho bits forman un byte. Cuatro bits (mitad de byte) son un nibble.
Conversión entre sistemas numéricos
Denario → binario. Escribe los valores posicionales. Coloca un 1 debajo de cada valor que necesites para que sumen tu número; coloca 0 debajo del resto.
Cada dígito hexadecimal se mapea a su propio nibble de 4 bits — F08 = 1111 0000 1000
Binario → hexadecimal. Agrupa los bits en nibbles de 4, comenzando desde la derecha. Convierte cada nibble a un dígito hexadecimal.
Denario → hexadecimal. La forma sencilla es convertir primero a binario, luego binario a hex.
Esta tabla facilita el uso de las letras hexadecimales:
Decimal
Binario
Hexadecimal
10
1010
A
11
1011
B
12
1100
C
13
1101
D
14
1110
E
15
1111
F
Las preguntas de Cambridge utilizan números binarios de hasta 16 bits de longitud.
Ejemplo resuelto. Convierta el decimal 100 a binario de 8 bits, y luego a hexadecimal.
$100 = 64 + 32 + 4$, por lo tanto el binario es 01100100. Dividiendo en grupos de cuatro bits (nibbles), 01100100$= 6$ y $4$, el hexadecimal resultante es 64.
Ejemplo resuelto (hexadecimal → decimal). Convierte el número hexadecimal 2C a decimal. Los valores posicionales en hexadecimal son $16$ y $1$. 2 vale $2 \times 16 = 32$ y C vale $12$, por lo que 2C$= 32 + 12 = 44$. Comprueba mediante el sistema binario: 0010 1100$= 32 + 8 + 4 = 44$.
Por qué se usa el hexadecimal
El hexadecimal es más corto que el binario y más fácil de leer y escribir para las personas. Un dígito hexadecimal reemplaza 4 dígitos binarios, lo que reduce los errores. El valor no cambia; el hexadecimal es simplemente una forma más breve de representar el mismo número binario.
Los informáticos usan hexadecimal para:
Direcciones MAC y direcciones IPv6
Códigos de color en HTML (por ejemplo, #FF0000 es rojo)
Direcciones de memoria y códigos de error
mostrar el contenido de la memoria (un «volcado de memoria»)
Explorar
Binario, decimal y hexadecimal
Escriba un número y vea su representación en binario, decimal y hexadecimal — y cómo los valores posicionales lo construyen.
Sumando columna por columna; los acarreos se propagan hacia la izquierda. 118 + 48 = 166
Desbordamiento
Cuando se interpreta como un entero sin signo, un registro de 8 bits almacena valores desde 0 hasta 255. Si una suma da un resultado mayor que 255, la respuesta necesita un bit 9. El registro no puede almacenar este bit adicional, por lo que se pierde. Esto se llama desbordamiento (un error de desbordamiento). Ocurre cuando un valor supera el límite que el registro puede almacenar.
Ejemplo: 11001000 (200) $+$01001000 (72) $= 272$. En binario eso es 1 00010000, lo cual necesita 9 bits. El bit más significativo 1 no cabrá en 8 bits, por lo que la respuesta almacenada será incorrecta.
Sumar 200 y 72 necesita 9 bits, pero un registro de 8 bits descarta el noveno, por lo que la respuesta es incorrecta
Un desplazamiento binario lógico mueve todos los bits a la izquierda o a la derecha por una cantidad de posiciones.
Los bits que se desplazan fuera del extremo del registro se pierden.
Se añaden ceros en el extremo vacío.
Para un entero sin signo, un corrimiento a la izquierda multiplica por 2 por cada posición movida si no se pierde ningún bit distinto de cero. Un desplazamiento lógico a la derecha da el resultado entero de la división por 2 por cada posición; los bits más a la derecha (los bits menos significativos) se pierden.
Ejemplo: desplazamiento a la izquierda de 00110101 (53) por 2 posiciones.
Un desplazamiento a la izquierda de 2: cada bit se mueve 2 posiciones a la izquierda, los bits superiores se pierden y los ceros rellenan la derecha
El resultado es 11010100 (212), que equivale a $53 \times 4$. Los dos bits más a la izquierda se perdieron y entraron dos ceros por la derecha. Si un 1 se expulsa al final, esa información se pierde para siempre.
Ejemplo resuelto (desplazamiento a la derecha). Desplaza 10110100 (180) 3 posiciones a la derecha. Da el resultado en binario y decimal, e indica qué efecto tiene el desplazamiento.
Los tres bits situados más a la derecha (100) se pierden y entran tres ceros por la izquierda: 00010110$= 16 + 4 + 2 = 22$. Desplazar 3 posiciones a la derecha equivale a dividir entre $2^3 = 8$: $180 \div 8 = 22.5$, y el desplazamiento conserva solo la parte entera, $22$. El bit 1 que se perdió representaba $0.5$.
Ejemplo resuelto (un desplazamiento a la izquierda que falla). Desplaza 01100100 (100) 2 posiciones a la izquierda. El resultado es 10010000$= 144$, no $400$: un 1 se desplazó fuera del extremo izquierdo y, además, $400$ es demasiado grande para 8 bits. Un desplazamiento a la izquierda multiplica correctamente solo mientras no se pierdan bits 1.
1.1
Complemento a dos
Hasta ahora los números eran positivos. El complemento a dos permite que un registro de 8 bits almacene también números negativos.
En complemento a dos, el bit más a la izquierda (el bit más significativo, o MSB) tiene un valor posicional negativo:
-128 64 32 16 8 4 2 1
Si el MSB es 0, el número es cero o positivo.
Si el bit más significativo es 1, el número es negativo.
Para convertir un número positivo en negativo: escribe el binario positivo, invierte cada bit (0↔1) y luego suma 1.
Ejemplo: convertir $-40$ a negativo.
$+40$ = 00101000
Invertir los bits = 11010111
añadir 1 = 11011000
Así $-40$ = 11011000. Verifique sumando los valores de posición: $-128 + 64 + 16 + 8 = -40$.
El bit más significativo vale -128, por lo tanto 11011000 = -128 + 64 + 16 + 8 = -40
Para leer un número en complemento a dos negativo, simplemente suma los valores de posición (el bit más significativo cuenta como $-128$). El rango de un número en complemento a dos de 8 bits es de $-128$ a $+127$.
Ejemplo resuelto. Convierte el número en complemento a dos 10011010 a decimal. El bit más significativo es 1, por lo que el número es negativo: $-128 + 16 + 8 + 2 = -102$. Comprueba con el otro método: invierte los bits (01100101) y suma 1 (01100110$= 102$), por lo que el número es $-102$.
1.2
Representación de texto
Syllabus
Los candidatos deben ser capaces de:
Notas y orientación
1 Comprender cómo y por qué un ordenador representa el texto y el uso de los juegos de caracteres, incluido el código estándar americano para el intercambio de información (ASCII) y Unicode
• El texto se convierte en binario para ser procesado por un ordenador • Unicode permite una gama mayor de caracteres y símbolos que ASCII, incluyendo diferentes idiomas y emojis • Unicode requiere más bits por carácter que ASCII
2 Comprender cómo y por qué un ordenador representa el sonido, incluidos los efectos de la frecuencia de muestreo y la resolución de muestreo
• Una onda de sonido se muestrea para convertirlo en binario, que es procesado por un ordenador • La frecuencia de muestreo es el número de muestras tomadas en un segundo • La resolución de muestreo es el número de bits por muestra • La precisión de la grabación y el tamaño del archivo aumentan conforme aumentan la frecuencia y la resolución de muestreo
3 Comprender cómo y por qué un ordenador representa una imagen, incluidos los efectos de la resolución y la profundidad de color
• Una imagen es una serie de píxeles que se convierten en binario, que es procesado por un ordenador • La resolución es el número de píxeles en la imagen • La profundidad de color es el número de bits utilizados para representar cada color • El tamaño del archivo y la calidad de la imagen aumentan conforme aumentan la resolución y la profundidad de color
Fuente: Plan de estudios Cambridge International
Las computadoras almacenan texto asignando un número a cada carácter y luego almacenando ese número en binario. El conjunto de caracteres que puede usar una computadora, junto con sus números, se denomina conjunto de caracteres.
ASCII utiliza códigos de caracteres de 7 bits, lo que da $N = 2^b = 2^7 = 128$ códigos diferentes. Incluye letras inglesas, dígitos y símbolos comunes; no todos los códigos de 128 son letras. Unicode representa un rango mucho mayor de caracteres, incluidos diferentes idiomas y emojis.
Practica — codifica un mensaje corto. Este extracto de ASCII indica A = 65, B = 66, C = 67 y espacio = 32. Escribe los cuatro grupos de 7 bits para CAB , incluyendo su espacio final. Luego decodifica los grupos 1000010 1000001 1000011.
Respuesta resuelta. Busque cada carácter, luego convierta su código a binario:
Carácter
Código
Siete bits
C
67
1000011
A
65
1000001
B
66
1000010
espacio
32
0100000
Así CAB es 1000011 1000001 1000010 0100000. El segundo mensaje se decodifica como BAC. Un espacio también tiene un código; no es la ausencia de datos almacenados. El emisor y el receptor deben usar la misma asignación de códigos de caracteres para interpretar el mensaje correctamente.
ASCII tiene 128 códigos. Unicode soporta un rango mucho mayor; la fila más ancha ilustra el modelo del programa.
Por qué importa un rango mayor. ASCII no puede representar directamente un nombre chino. Unicode incluye caracteres chinos, así como caracteres ingleses y muchos otros idiomas. Para la comparación del programa, explique que un rango mayor requiere más códigos binarios distintos, necesitando más bits por carácter que el modelo de ASCII de 7 bits.
Practique — compare modelos de almacenamiento declarados. Almacene los cuatro caracteres CAB usando (A) 7 bits por carácter y (B) 16 bits por carácter. Asuma que los bits están agrupados sin relleno ni información adicional de archivo. Encuentre el tamaño de los datos de texto en cada modelo. El valor de 16 bits es una suposición para este ejemplo, no una regla de que todos los caracteres de Unicode tomen 16 bits.
Respuesta resuelta. Con el mismo número de caracteres, multiplique por los bits declarados por carácter:
$$S = n b = 4 \times 7\ \text{bits} = 28\ \text{bits}$$
$$S = n b = 4 \times 16\ \text{bits} = 64\ \text{bits}$$
El Modelo B usa más almacenamiento para este ejemplo porque su ancho de código declarado es mayor. Use el ancho dado en una pregunta de examen. En archivos reales, el codificado también importa: UTF-8 almacena caracteres ASCII en los mismos bytes que un archivo ASCII, por lo que el texto Unicode no siempre ocupa más bytes. No necesita las reglas detalladas de UTF-8 para esta comparación del programa.
Explorar
Representación del sonido
y = a sin(bt + c)
El sonido es una onda; el muestreo registra su altura muchas veces por segundo.
Una onda sonora es suave y cambia constantemente. Para almacenarla, la computadora mide la altura de la onda en momentos regulares. Esto se llama muestreo, y cada medición es una muestra.
El muestreo registra la altura de la onda (amplitud) en momentos regulares
La tasa de muestreo es el número de muestras tomadas cada segundo (medida en Hz).
La resolución de muestreo es el número de bits utilizados para cada muestra. La altura de la onda en un punto de muestreo es su amplitud.
Una tasa de muestreo más alta y una resolución de muestreo más alta proporcionan una grabación más precisa, pero un archivo más grande.
Explorar
Representación del sonido
y = a sin(bt + c)
El sonido es una onda; el muestreo registra su altura muchas veces por segundo.
Una imagen de computadora está compuesta por una cuadrícula de pequeños puntos llamados píxeles.
Un mapa de bits es una cuadrícula de píxeles; la resolución es cuántos píxeles tiene
La resolución es el número de píxeles en la imagen (por ejemplo, $1920 \times 1080$).
La profundidad de color es el número de bits utilizados para almacenar el color de cada píxel.
Una mayor resolución y una mayor profundidad de color proporcionan una imagen de mejor calidad, pero un archivo más grande.
La profundidad de color determina cuántos colores diferentes puede tener cada píxel: con $n$ bits hay $2^n$ colores. Una profundidad de color de 1 bit da 2 colores (blanco y negro), 8 bits dan $2^8 = 256$ colores y 24 bits dan más de 16 millones.
Ejemplo resuelto. Una imagen usa 64 colores diferentes. ¿Cuál es la menor profundidad de color que puede tener? Busca el menor $n$ que cumpla $2^n \geqslant 64$: $2^6 = 64$, por lo que son 6 bits por píxel. Si usara 65 colores necesitaría 7 bits, porque 6 bits solo pueden formar 64 patrones diferentes.
1 Entender cómo se mide el almacenamiento de datos
• Incluyendo: – bit – nibble – byte – kibibyte (KiB) – mebibyte (MiB) – gibibyte (GiB) – tebibyte (TiB) – pebibyte (PiB) – exbibyte (EiB) • La cantidad de la denominación anterior presente en el tamaño del almacenamiento de datos, ej.: – 8 bits en un byte – 1024 mebibytes en un gibibyte
2 Calcular el tamaño de archivo de una imagen y de un sonido, utilizando la información proporcionada
• Las respuestas deben darse en las unidades especificadas en la pregunta. Los cálculos deben utilizar la medida de 1024 y no de 1000 • La información proporcionada puede incluir: – resolución e profundidad de color de la imagen – frecuencia de muestreo, resolución y duración de la pista de sonido
3 Entender el propósito y la necesidad de la compresión de datos
• La compresión existe para reducir el tamaño del archivo • El impacto que esto tiene, ej.: – menor ancho de banda requerido – menos espacio de almacenamiento requerido – tiempo de transmisión más corto
4 Entender cómo se comprimen los archivos mediante métodos de compresión con pérdida y sin pérdida
• La compresión con pérdida reduce el tamaño del archivo eliminando permanentemente datos, ej.: reduciendo la resolución o la profundidad de color, reduciendo la frecuencia de muestreo o la resolución • La compresión sin pérdida reduce el tamaño del archivo sin pérdida permanente de datos, ej.: codificación por longitud de carrera (RLE)
Fuente: Plan de estudios Cambridge International
El almacenamiento de datos se mide en las unidades siguientes. Un nibble es 4 bits y un byte es 8 bits; desde el kibibyte hacia arriba, cada unidad es 1024 veces la anterior (porque $1024 = 2^{10}$, que se adapta al sistema binario).
Unidad
Equivale a
bit
un único 0 o 1
nibble
4 bits
byte
8 bits
kibibyte (KiB)
1024 bytes
mebibyte (MiB)
1024 KiB
gibibyte (GiB)
1024 MiB
tebibyte (TiB)
1024 GiB
pebibyte (PiB)
1024 TiB
exbibyte (EiB)
1024 PiB
Platos de disco duro: el almacenamiento se mide en bytes — para conocer el tamaño de un archivo se necesita el ancho × alto × profundidad de color para imágenes
Para pasar de bits a bytes se divide entre 8; en cada paso posterior se divide entre 1024
Tamaño de archivo de sonido (en bits) $=$ tasa de muestreo $\times$ resolución de muestreo $\times$ duración en segundos.
Estas fórmulas calculan los datos sin comprimir sin incluir encabezados de archivo. La fórmula de sonido es para un canal; multiplique por el conteo de canales si la pregunta especifica más canales.
Siempre divida por 1024 (no por 1000) para convertir a KiB, MiB y así sucesivamente. Dé su respuesta en la unidad que solicite la pregunta.
Ejemplo resuelto. Una señal de sonido se graba durante 30 segundos con una tasa de muestreo de 8,000 Hz y una resolución de muestreo de 16 bits. Calcule el tamaño del archivo en kibibytes (KiB).
La compresión reduce el tamaño de un archivo. Un archivo más pequeño:
ocupa menos espacio de almacenamiento,
requiere menor ancho de banda (la cantidad de datos que puede transportar una conexión),
tarda menos tiempo en enviarse (un tiempo de transmisión más corto).
Existen dos tipos.
Compresión sin pérdida
La compresión sin pérdida reduce el tamaño del archivo con pérdida permanente nula de datos. El archivo original puede reconstruirse exactamente.
Un método es la codificación por longitud de secuencia (RLE). Sustituye una secuencia de valores repetidos por una copia del valor y un recuento del número de veces que se repite. Por ejemplo, WWWWWWWW (8 blancos) se almacena como «8 W». Esto funciona bien cuando los datos tienen muchas repeticiones.
La codificación por longitud de secuencia almacena cada secuencia una sola vez como un conteo y un valor
Ejemplo resuelto. Una fila de una imagen en blanco y negro es B B B B B W W B B B B B B B B B (16 píxeles). Comprímela con RLE e indica si se ahorró espacio cuando cada recuento y cada color se almacenan en un byte.
Las secuencias son 5 negros, 2 blancos, 9 negros, por lo que los datos RLE son 5 B 2 W 9 B: 6 bytes en lugar de 16 bytes del original (un byte por píxel). Se ahorra espacio porque la fila tiene secuencias largas. Una fila que cambia de color en cada píxel, B W B W …, se convertiría en 1 B 1 W 1 B 1 W …, el doble del tamaño original: RLE solo ayuda cuando los datos se repiten.
Compresión con pérdida
La compresión con pérdida reduce significativamente el tamaño del archivo mediante la eliminación permanente de algunos datos. Los datos eliminados no pueden recuperarse. Por ejemplo:
reducir la resolución o la profundidad de color de una imagen,
reducir la frecuencia de muestreo o la resolución de muestreo de un sonido.
Use compresión sin pérdida cuando deba conservar todos los detalles (archivos de texto y programas). Use compresión con pérdida para fotos, música y video, donde una pequeña pérdida de calidad justifica un archivo mucho más pequeño.
Explorar
Codificación de longitud de corrida
Observe cómo los símbolos repetidos se comprimen en un conteo — compresión sin pérdida simple.
1.3
Consejos para el examen
Convertir decimal a binario restando los valores posicionales (128, 64, 32 …); binario a decimal sumando los valores posicionales que contienen un 1.
Para convertir a hexadecimal, agrupe el binario en nibbles de 4 bits desde la derecha; cada nibble corresponde exactamente a un dígito hexadecimal.
Desbordamiento ocurre cuando un resultado está fuera del rango de la representación elegida. Los enteros sin signo de 8 bits almacenan 0–255; los de complemento a dos de 8 bits almacinan −128–127.
Tamaño de archivo en bits: para una imagen, ancho × alto × profundidad de color; para sonido, frecuencia de muestreo × resolución × segundos. Divida por 8 para obtener bytes, luego divida por 1024 para cada unidad mayor.
La compresión sin pérdida conserva cada bit (texto; codificación por longitud de secuencia); la compresión con pérdida elimina permanentemente datos (fotos, música) para un archivo mucho más pequeño.
Lecciones interactivas sobre este tema
Trátalo paso a paso, con ejercicios de verificación instantánea.