- Aprender
- Informática
- Ciencias de la computación
- Introducción a la informática
- Sistema binario y representación de datos
Sistema binario y representación de datos
PrincipianteUnidad 2 de 7 del curso Curso de Introducción a la informática
Lo que aprenderás
- Explica cómo los grupos de bits codifican información y convierte números enteros entre los sistemas decimal, binario y hexadecimal.
- Explica qué son los bits y los bytes y cuántos valores puede representar un grupo de bitsDescribe los bits y los bytes, calcula cuántos patrones ofrece una cantidad de bits e interpreta correctamente las unidades de almacenamiento y velocidad.
- Convierte números enteros entre los sistemas decimal y binarioUsa los valores posicionales para interpretar números binarios y convierte números enteros decimales a binario con dos métodos fiables.
- Usa el sistema hexadecimal como representación abreviada del binarioRealiza conversiones entre los sistemas hexadecimal, binario y decimal, y explica por qué se escriben bytes, colores y direcciones en hexadecimal al programar.
- Explica qué son los bits y los bytes y cuántos valores puede representar un grupo de bits
- Almacena enteros no negativos y negativos en un número fijo de bits, calcula sus rangos de representación y explica qué ocurre cuando un valor no cabe.
- Almacena enteros sin signo e identifica su rango de representaciónRepresenta números enteros no negativos con un ancho fijo, elige un ancho en el que quepan los valores y explica el desbordamiento.
- Representa enteros negativos en complemento a dosLee y escribe números enteros negativos en complemento a dos, determina el rango de un ancho con signo y compáralo con signo y magnitud.
- Almacena enteros sin signo e identifica su rango de representación
- Escribe fracciones en binario, codifica y decodifica números en los formatos de coma flotante de IEEE 754 y explica los límites de su rango de representación y precisión.
- Escribe fracciones en binario y comprende por qué algunas no pueden representarse de forma exactaConvierte entre fracciones decimales y binarias, reconoce fracciones binarias periódicas como 0,1 y describe los números en coma fija.
- Codifica y decodifica números en coma flotante según IEEE 754Usa la notación científica binaria y los campos de signo, exponente y fracción de los formatos de precisión simple y doble de IEEE 754.
- Explica el rango de representación, la precisión y el error de redondeo en coma flotanteExplica por qué los valores en coma flotante son aproximaciones, predice efectos típicos como 0,1 + 0,2 y elige un tipo numérico adecuado.
- Escribe fracciones en binario y comprende por qué algunas no pueden representarse de forma exacta
- Explica cómo los caracteres se convierten en números y bytes, usa ASCII y Unicode y predice cuántos bytes ocupa un texto en UTF-8.
- Codifica texto mediante códigos de caracteres y ASCIIUsa una tabla de códigos de caracteres para convertir texto en números y bits, interpreta la organización de ASCII y explica sus limitaciones.
- Usa puntos de código Unicode y la codificación UTF-8Distingue un punto de código Unicode de sus bytes codificados, codifica caracteres en UTF-8 y explica el texto ilegible por codificación incorrecta y los recuentos de bytes.
- Codifica texto mediante códigos de caracteres y ASCII
- Describe cómo las imágenes se convierten en píxeles y valores de color, calcula el almacenamiento que necesitan y explica cómo el sonido se muestrea para convertirlo en números.
- Representa imágenes mediante píxeles y valores de colorDescribe las imágenes de mapa de bits, la profundidad de color, RGB y los códigos de color hexadecimales, las paletas y la transparencia.
- Calcula el tamaño de almacenamiento de las imágenes y compara los mapas de bits con los gráficos vectorialesCalcula el almacenamiento que necesita una imagen o un vídeo sin comprimir, explica qué añaden los archivos y describe los gráficos vectoriales.
- Digitaliza sonido mediante muestreo y cuantificaciónExplica el muestreo, la frecuencia de muestreo y la profundidad de bits, aplica la regla del muestreo y calcula el tamaño del audio sin comprimir.
- Representa imágenes mediante píxeles y valores de color
- Explica cómo la compresión reduce el tamaño de los datos, aplica métodos sencillos sin pérdidas y elige entre formatos sin pérdidas y con pérdidas.
- Explica la compresión sin pérdidas mediante la codificación por longitud de rachas y otros códigosAplica la codificación por longitud de rachas y los códigos de longitud variable, describe los métodos de diccionario y explica por qué ningún método reduce todos los archivos.
- Explica la compresión con pérdidas y elige un formato adecuadoDescribe cómo la compresión con pérdidas descarta detalles menos perceptibles, sopesa la calidad frente al tamaño y elige formatos para distintos tipos de datos.
- Explica la compresión sin pérdidas mediante la codificación por longitud de rachas y otros códigos
Guía de estudio de Sistema binario y representación de datos
1Cuenta patrones y cambia de base numérica
Una computadora puede usar el mismo grupo de bits para un número, una letra o parte de una imagen. La interpretación da significado al patrón. Antes de trabajar con esas interpretaciones, necesitas contar los patrones disponibles e interpretar las unidades usadas para el almacenamiento y la transferencia. Los sistemas decimal, binario y hexadecimal te ofrecen tres formas de escribir un número entero, cada una con valores posicionales que hacen predecibles las conversiones.
1.1 Bits, bytes y unidades de almacenamiento
Un bit, abreviatura de dígito binario, tiene uno de dos valores: 0 o 1. El hardware puede distinguir con fiabilidad dos estados físicos, como una tensión alta y baja, direcciones opuestas de magnetización o presencia y ausencia de luz. Los dígitos escritos describen esos estados; no tienen por qué aparecer literalmente dentro de un dispositivo.
Cuenta los patrones
Cada bit nuevo duplica las posibilidades. Dos bits tienen cuatro patrones: 00, 01, 10 y 11. Tres bits tienen ocho. En general, bits ofrecen patrones. Un cuarteto de bits tiene 4 bits y un byte tiene 8 bits, por lo que un byte tiene 256 patrones. Un byte también es la unidad mínima de memoria direccionable en la mayoría de las computadoras modernas.
Para codificar un conjunto de valores, elige suficientes patrones para todos sus elementos. Para 26 letras, cuatro bits ofrecen solo 16 patrones; cinco bits ofrecen 32, por lo que bastan cinco bits. Para 1000 valores, nueve bits ofrecen 512 y diez ofrecen 1024. Puede haber patrones sin usar. Con 16 bits hay 65 536 patrones y con 32 hay 4 294 967 296.
El número de patrones difiere del mayor número sin signo. Cuatro bits ofrecen 16 patrones, pero el recuento empieza en cero, por lo que los valores van de 0 a 15. Un patrón ya se usa para el cero.
Para hallar el ancho mínimo de forma sistemática, compara potencias sucesivas de dos con el número de opciones necesarias. Detente en la primera potencia lo bastante grande. La condición es para N valores distintos. La igualdad exacta es válida: ocho opciones caben en tres bits, mientras que una novena necesita un cuarto bit. Un ancho mayor también sirve, pero deja de ser el mínimo.
Da significado al patrón
El byte 01000001 puede significar el entero 65, la letra ASCII «A» o una intensidad de canal de color de 65 en una escala de 0–255. Los bits por sí solos no seleccionan una interpretación. El tipo de dato de un programa y el formato del archivo determinan cómo interpretarlos.
Interpreta las unidades de almacenamiento
Son habituales dos familias de prefijos:
| Almacenamiento decimal | Bytes | Almacenamiento binario | Bytes |
|---|---|---|---|
| 1 kB | 1000 | 1 KiB | 1024 |
| 1 MB | 1 000 000 | 1 MiB | 1 048 576 |
| 1 GB | 1 000 000 000 | 1 GiB | 1 073 741 824 |
Los prefijos decimales son prefijos del SI; los binarios son prefijos de la IEC. En cada salto decimal, la unidad aumenta por un factor de 1000; en cada salto binario, por uno de 1024. Para expresar bytes en una unidad mayor, divide entre el número de bytes de esa unidad.
Una unidad etiquetada como de 500 GB contiene 500 000 000 000 bytes. Al dividir entre 1 073 741 824 se obtienen unos 465,66 GiB. El software puede etiquetar esa cantidad binaria como «GB», lo que hace que la capacidad mostrada parezca menor. El cambio de unidad en sí no ha eliminado ningún byte; el formateo y los archivos del sistema son cuestiones distintas.
Distingue bits de bytes
La b minúscula significa bit; la B mayúscula significa byte. Una conexión de 100 Mbit/s transfiere como máximo 100 millones de bits cada segundo. Dividir entre 8 da 12,5 millones de bytes por segundo, o 12,5 MB/s, antes de descontar la sobrecarga de información de control de los protocolos. Interpretar esa velocidad como 100 MB/s la multiplica por ocho.
Puntos clave
- Un byte tiene 8 bits; un cuarteto de bits tiene 4.
- Cada bit adicional duplica el número de patrones.
- Elige el menor número de bits cuyos patrones disponibles cubran todos los valores.
- Un tipo de dato o una codificación da significado a un patrón de bits.
- Los prefijos de almacenamiento del SI usan potencias de 10; los de la IEC usan potencias de 2.
- Divide una tasa de bits entre 8 para obtener la tasa de bytes correspondiente.
1.2 Valor posicional y conversión en binario
El binario es un sistema de numeración posicional: el valor de un dígito depende de dónde esté. El decimal usa diez dígitos y potencias de 10. El binario usa dos dígitos, 0 y 1, y potencias de 2. Interpretar un número binario consiste en sumar los valores de las posiciones que contienen un 1.
Interpreta un número entero binario
De derecha a izquierda, los valores posicionales son 1, 2, 4, 8, 16, 32, 64, 128, y así sucesivamente. Cada uno es el doble del anterior porque , y .
Para , alinea los seis bits con sus valores posicionales:
| Valor posicional | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|
| Bit | 1 | 0 | 1 | 1 | 0 | 1 |
El valor es . Un cero no aporta nada, pero mantiene los demás dígitos en las posiciones correctas. Los ceros iniciales no cambian el valor: 00101101 también es 45.
El bit situado más a la izquierda es el bit más significativo, o MSB. El situado más a la derecha es el bit menos significativo, o LSB. Todos los valores posicionales salvo el último son pares, por lo que un entero binario es impar exactamente cuando su LSB es 1.
Convierte restando potencias de dos
Para escribir 156 en binario, empieza por la mayor potencia de dos que quepa: 128. Réstala y quedan 28. Los valores 64 y 32 no caben, así que ambas posiciones reciben 0. Toma 16 y quedan 12; toma 8 y quedan 4; toma 4 y queda 0. Las posiciones no usadas de 2 y 1 reciben 0.
En orden posicional, el resultado es . Comprueba sumando los valores posicionales elegidos: . Saltarse una columna no usada desplazaría todos los bits posteriores y cambiaría el número.
El método de resta funciona porque cada valor posicional binario puede usarse como máximo una vez. Tras tomar la mayor potencia que quepa, el resto es menor que esa potencia. Continúa descendiendo por todas las posiciones, incluidas las de valor cero, hasta completar la posición de las unidades. Así, los bits elegidos se alinean con potencias distintas en vez de formar una lista de potencias sin posiciones.
Convierte mediante divisiones sucesivas
Otro método divide entre 2 sucesivamente. Conserva el cociente para la siguiente división y anota el resto:
| Número | Cociente | Resto |
|---|---|---|
| 156 | 78 | 0 |
| 78 | 39 | 0 |
| 39 | 19 | 1 |
| 19 | 9 | 1 |
| 9 | 4 | 1 |
| 4 | 2 | 0 |
| 2 | 1 | 0 |
| 1 | 0 | 1 |
Lee los restos de abajo arriba para obtener 10011100. El primer resto corresponde a la posición de las unidades, por lo que leer hacia abajo invierte el orden posicional. Aquí produciría 00111001, que es 57.
Mantén visible la base
El subíndice de indica base 2, así que su valor es dos. Los mismos dígitos en significan diez. El binario suele leerse dígito a dígito: «uno cero». El recuento sigue 0, 1, 10, 11, 100, 101, 110, 111, 1000; una columna lleva una unidad a la siguiente al llegar a 2. Una cadena de ocho unos es . Añadir un cero al final desplaza todas las posiciones hacia la izquierda y duplica el valor: 101 pasa a ser 1010, de cinco a diez.
Puntos clave
- Suma las potencias de dos cuyos bits sean 1.
- Los ceros iniciales conservan el valor; omitir posiciones internas no.
- Lee los restos de las divisiones sucesivas del último al primero.
- Un número entero es impar exactamente cuando su bit menos significativo es 1.
- Añadir un cero al final duplica un entero binario sin límite de ancho.
1.3 El sistema hexadecimal como binario legible
El sistema hexadecimal, o hex, escribe los números en base 16. Sus dígitos son 0–9 seguidos de A, B, C, D, E y F, que significan de 10 a 15. Un solo dígito hexadecimal puede describir cualquier grupo posible de cuatro bits, lo que facilita la lectura de patrones binarios largos.
Relaciona cuatro bits con un dígito
Como , cada posición hexadecimal corresponde exactamente a cuatro posiciones binarias:
| Hexadecimal | Binario | Hexadecimal | Binario |
|---|---|---|---|
| 0 | 0000 | 8 | 1000 |
| 1 | 0001 | 9 | 1001 |
| 2 | 0010 | A | 1010 |
| 3 | 0011 | B | 1011 |
| 4 | 0100 | C | 1100 |
| 5 | 0101 | D | 1101 |
| 6 | 0110 | E | 1110 |
| 7 | 0111 | F | 1111 |
Para pasar de binario a hexadecimal, agrupa desde la derecha. El patrón 10011100 pasa a ser 1001 1100, o 0x9C. Si queda un grupo más corto a la izquierda, añade ceros iniciales: 101101 pasa a ser 0010 1101, o 0x2D. Agruparlo desde la izquierda como 1011 01 colocaría los dígitos en posiciones incorrectas.
Para volver a binario, desarrolla cada dígito en cuatro bits. Así, 0x3E8 pasa a ser 0011 1110 1000. Conserva los cuatro bits dentro de cada grupo, aunque un grupo empiece por ceros. Solo pueden eliminarse sin cambiar el valor los ceros situados al extremo izquierdo del número completo.
Usa los valores posicionales de base 16
De derecha a izquierda, los valores posicionales hexadecimales son 1, 16, 256 y 4096. Multiplica el valor de cada dígito por su valor posicional y después suma. Para 0x2F, el cálculo es . Para 0x3E8:
La conversión de decimal a hexadecimal también funciona mediante divisiones sucesivas, ahora entre 16. Para 1000, el primer cociente es 62 con resto 8. Dividir 62 da cociente 3 con resto 14, que se escribe E. Dividir 3 da cociente 0 con resto 3. Lee los restos de abajo arriba: 3, E, 8.
La agrupación funciona por el valor posicional, no solo por una tabla de correspondencias. En un número hexadecimal de dos dígitos, el cuarteto de bits izquierdo aporta su valor multiplicado por 16 y el derecho aporta su valor multiplicado por 1. En binario, desplazar un cuarteto cuatro posiciones hacia la izquierda también multiplica su valor por 16. Ese factor común permite interpretar ambos grupos de forma independiente sin convertir antes el número completo a decimal.
Reconoce los usos habituales
Un byte tiene dos cuartetos de bits, así que son exactamente dos dígitos hexadecimales, de 0x00 a 0xFF. Un visor de bytes puede mostrar un archivo largo en hexadecimal ocupando la cuarta parte que en binario y manteniendo visibles los límites de los grupos.
Los colores web como #FF8000 usan pares de dígitos hexadecimales para rojo, verde y azul. Las direcciones de memoria y los puntos de código Unicode como U+00E9 también usan hexadecimal. Una dirección MAC como 3C:22:FB:9A:01:7E escribe seis bytes como doce dígitos hexadecimales, con separadores entre los bytes.
El prefijo 0x, un subíndice de base como o el # de un código de color identifican la notación. La computadora almacena los mismos bits independientemente de la notación que use una persona. En particular, 0x10 significa dieciséis. El valor quince es el dígito único F; escribir «15» ocupa dos posiciones hexadecimales y significa veintiuno.
Puntos clave
- El sistema hexadecimal usa 0–9 y A–F; A–F representan 10–15.
- Agrupa el binario de cuatro en cuatro desde la derecha para convertirlo a hexadecimal.
- Un byte son exactamente dos dígitos hexadecimales.
- Los valores posicionales hexadecimales son potencias de 16; cambiar la notación no cambia los bits almacenados.
2Almacena números enteros con un ancho fijo
Un número fijo de bits solo puede almacenar un conjunto fijo de números enteros. La interpretación elegida decide si todos esos patrones representan valores no negativos o si algunos representan valores negativos. Interpretarás el mismo byte de ambas formas, elegirás anchos que cubran un rango necesario y seguirás lo que ocurre en sus extremos. El complemento a dos también explica cómo los valores negativos conservan su significado al aumentar su ancho.
2.1 Valores sin signo y desbordamiento
Un entero sin signo representa un número entero no negativo. Todos sus bits tienen los pesos binarios positivos habituales. El ancho fija cuántas posiciones hay disponibles, por lo que un byte no puede ganar un noveno bit solo porque un resultado lo necesite.
Halla el rango
Para bits, hay patrones. Empezar en cero da el rango . El valor máximo tiene un 1 en todas las posiciones:
| Ancho | Rango sin signo |
|---|---|
| 8 bits | 0–255 |
| 16 bits | 0–65 535 |
| 32 bits | 0–4 294 967 295 |
El número de valores disponibles y el valor máximo difieren en uno. Ocho bits permiten 256 opciones, pero el propio 256 necesita nueve posiciones, 1 0000 0000.
Un valor almacenado completa su ancho con ceros iniciales. Por ejemplo, 45 en 16 bits es 0000000000101101, o 0x002D. Esos ceros identifican el ancho sin cambiar el valor. Un número negativo no tiene representación sin signo, sea cual sea el ancho elegido.
Elige suficientes posiciones
Un rango de edades de 0 a 150 cabe en 8 bits porque 150 es menor que 255. Un recuento de 0 a 100 000 contiene 100 001 valores posibles. Dieciséis bits ofrecen solo 65 536 patrones. Diecisiete ofrecen 131 072, por lo que 17 es el ancho mínimo matemático. Un programa que use los anchos habituales de 8, 16, 32 y 64 elegiría 32 bits.
El mismo razonamiento se aplica a cualquier contador acotado: comprueba el mayor valor que el contador debe almacenar realmente, incluidos ambos extremos. Un rango de 0 a 256 necesita 257 patrones y, por tanto, no cabe en un byte.
Una comprobación útil de los límites compara anchos consecutivos. El máximo sin signo de 8 bits es 255 y el de 9 bits es 511. Añadir un bit duplica el número de patrones; el máximo pasa a ser el doble del máximo anterior más uno. Esta distinción importa cuando un requisito coincide exactamente con una potencia de dos: ese extremo necesita una nueva posición, aunque el ancho anterior tenga esa misma cantidad de patrones.
Sigue un resultado fuera del rango
El desbordamiento significa que un resultado no cabe en la representación elegida. Si un cálculo de 8 bits conserva solo los ocho bits menos significativos, 255 más 1 produce 1 0000 0000 y almacena 00000000: cero. La posición adicional se descarta.
Para 200 más 100, el resultado matemático es 300. El ancho conserva el resto tras un ciclo completo de 256 patrones: . El byte almacenado es 00101100. Este comportamiento se llama desbordamiento con retorno cíclico. No cambia el hecho aritmético de que 200 más 100 es 300; describe lo que retiene el almacenamiento limitado.
El comportamiento ante el desbordamiento depende del sistema. Algunas operaciones vuelven al inicio de forma cíclica, otras señalan un error y algunos tipos numéricos aumentan su capacidad. Un cálculo que pregunte por el retorno cíclico debe especificar ese comportamiento antes de que descartes los bits más significativos.
Observa los anchos fijos en los datos
Una dirección IPv4 tiene 32 bits, lo que ofrece unos 4,3 mil millones de patrones posibles. Ese espacio finito de direcciones contribuyó a la necesidad de un sistema de direccionamiento más amplio. Un canal de color RGB habitual tiene 8 bits, lo que explica su escala de intensidad de 0–255. En ambos casos, el máximo depende del ancho; escribir más cifras decimales no añade capacidad de almacenamiento.
Puntos clave
- Un entero sin signo de n bits va de 0 a 2ⁿ − 1.
- Cuenta ambos extremos al elegir un ancho.
- Los ceros iniciales completan un ancho sin cambiar un valor sin signo.
- El desbordamiento significa que un resultado queda fuera del rango representable.
- Cuando un sistema conserva solo los n bits menos significativos, los valores sin signo vuelven al inicio en ciclos de 2ⁿ.
2.2 Enteros negativos en complemento a dos
Un entero negativo necesita una regla de representación, no solo un signo menos escrito junto a un byte. El complemento a dos da un peso negativo al bit más significativo. Las demás posiciones conservan sus pesos positivos, por lo que cada patrón tiene un valor con signo y el cero tiene un solo patrón.
Compara dos interpretaciones con signo
Un esquema más sencillo, signo y magnitud, usa el bit más significativo solo para el signo y los restantes para la magnitud. En 8 bits, +5 es 00000101 y −5 es 10000101. Tiene dos ceros, 00000000 y 10000000, y sumar números de distinto signo requiere reglas adicionales.
En complemento a dos de 8 bits, los pesos son −128, 64, 32, 16, 8, 4, 2 y 1. Así, 11010011 significa . Interpretar los otros siete bits como una magnitud de 83 daría −83, que corresponde a otra representación.
| Ancho | Rango en complemento a dos |
|---|---|
| 8 bits | −128–127 |
| 16 bits | −32 768–32 767 |
| 32 bits | −2 147 483 648–2 147 483 647 |
En general, el rango va de . El cero y los valores positivos se escriben como en binario habitual con un 0 inicial. Todos los bits a uno representan −1.
Escribe un valor negativo
Para cambiar el signo de un valor representable, invierte cada bit y suma 1, manteniendo fijo el ancho. Para codificar −45 en 8 bits:
- Escribe +45 como 00101101.
- Invierte los ocho bits: 11010010.
- Suma 1: 11010011, o 0xD3.
Detenerse tras la inversión produce −46. Aplicar el proceso completo a 11010011 vuelve a dar 00101101, recuperando +45.
Otra vía codifica como el valor sin signo . Aquí, , cuya representación binaria es 11010011. Por tanto, el byte significa 211 sin signo o −45 con signo. Los bits no han cambiado; el tipo sí.
La inversión seguida de la suma también tiene una explicación aritmética. Para un valor positivo x de n bits, la inversión lo transforma en el valor sin signo . Sumar uno da , cuya interpretación con signo es −x. Esto relaciona el método bit a bit con el método de resta y explica por qué omitir el 1 final da un valor negativo incorrecto.
Conserva un valor con signo en más bits
La extensión de signo copia el bit más significativo en las posiciones nuevas de la izquierda. −3 en cuatro bits es 1101; en 8 bits es 11111101. Su peso negativo más significativo y los pesos positivos añadidos siguen sumando −3. Completarlo con ceros daría 00001101, o +13. Los valores positivos se extienden con ceros: 0011 pasa a ser 00000011.
Reconoce los extremos
El complemento a dos permite usar la suma binaria habitual para resultados que caben en el rango. En 4 bits, 0101 más 1101, que significa 5 más −3, da 1 0010. Conservar los cuatro bits menos significativos da 0010, o 2. Esto permite que el mismo hardware básico de suma maneje valores con signo y sin signo.
Un resultado fuera del rango es distinto: 127 más 1 en 8 bits deja 10000000, que se interpreta como −128. Además, −128 no tiene un opuesto positivo en 8 bits. Invertir 10000000 y sumar 1 devuelve 10000000 porque +128 queda fuera del rango. Amplía la representación antes de obtener ese valor positivo.
Puntos clave
- El bit más significativo tiene peso −2ⁿ⁻¹ en complemento a dos de n bits.
- El complemento a dos tiene un solo cero y un valor negativo más que valores positivos.
- Cambia el signo invirtiendo cada bit y sumando 1 dentro del ancho fijo.
- La extensión de signo copia el bit más significativo en las posiciones añadidas.
- El valor más negativo no tiene un opuesto positivo en el mismo ancho.
- El mismo patrón puede tener significados distintos con signo y sin signo.
3Almacena fracciones y valores en coma flotante
Las posiciones enteras se prolongan a la derecha de la coma binaria como mitades, cuartos y fracciones menores. Algunas fracciones decimales terminan en binario, mientras que otras requieren un patrón infinito. La coma fija reserva un número determinado de posiciones fraccionarias; la coma flotante almacena una escala además de un significando. Interpretar estos formatos permite comprender tanto su amplio rango como sus errores de redondeo, incluido el conocido resultado de sumar 0,1 y 0,2.
3.1 Fracciones binarias y coma fija
La primera posición después de la coma binaria vale un medio. Cada posición posterior vale la mitad de la anterior: un cuarto, un octavo, un dieciseisavo, y así sucesivamente. Un 1 aporta esa fracción; un 0 la omite. Las posiciones enteras de la izquierda conservan sus potencias de dos habituales.
Interpreta y construye una fracción binaria
Para , la parte entera es 4 más 1. La parte fraccionaria es un medio más un octavo, lo que da .
Para convertir una fracción decimal, multiplícala por 2 sucesivamente. La parte entera de cada resultado es el siguiente dígito binario; conserva solo la parte fraccionaria para la siguiente multiplicación. Para 0,375:
- , por lo que el primer bit es 0.
- , por lo que el siguiente bit es 1; conserva 0,5.
- , por lo que el siguiente bit es 1 y el proceso termina.
El resultado es . Su valor es un cuarto más un octavo, o 0,375. Estos bits se leen en el orden en que se obtienen, a diferencia de los restos en la división de números enteros.
Decide si el desarrollo termina
Reduce la fracción a su forma irreducible. Tiene un desarrollo binario finito exactamente cuando su denominador es una potencia de 2. Valores como 0,5, 0,25, 0,75 y 0,375 cumplen esa condición. Por ejemplo, 0,375 es 3/8 y ocho es una potencia de dos.
El decimal 0,1 es 1/10. Su denominador incluye un factor de 5, por lo que su desarrollo binario se repite: . Igual que un tercio no puede terminar en decimal, un décimo no puede terminar en binario. Por tanto, la forma escrita corta «0,1» necesita una aproximación cuando solo hay un número limitado de posiciones binarias disponibles. El mismo problema afecta a 0,2 y 0,3.
La regla del denominador se deduce de las propias posiciones. Una cadena finita que termine en la posición fraccionaria f puede escribirse como un entero dividido entre . Reducir esa fracción puede eliminar factores de dos, pero no puede introducir otro factor primo en el denominador. Por tanto, un denominador reducido que contenga cinco no puede corresponder a ninguna suma binaria finita de ese tipo.
Reserva una escala fija
Una representación en coma fija asigna un número determinado de bits a la parte fraccionaria. Con cuatro bits enteros y cuatro bits fraccionarios, 0110,1000 significa 6,5. El paso mínimo es y el mayor valor sin signo es 1111,1111, o 15,9375.
De forma equivalente, al entero almacenado de ocho bits se le aplica un factor de escala de 1/16. El patrón 01101000 tiene el valor sin signo 104; dividir entre 16 da 6,5. La coma forma parte de la interpretación, por lo que no necesita almacenarse como un símbolo adicional.
Mantener ocho bits en total, pero usar cinco bits enteros y tres fraccionarios, hace que el paso sea 0,125 y el máximo 31,875. Ganas rango, pero pierdes finura en el espaciado. La coma fija representa exactamente los múltiplos de su paso dentro de su rango.
Un recuento exacto de centésimas de unidad monetaria usa una idea de escala relacionada: 19,99 u.m. se convierten en el entero 1999 centésimas. Para medidas que abarcan magnitudes muy diferentes, la coma flotante almacena una escala móvil, lo que permite cubrir un rango mucho mayor que la coma fija con el mismo ancho.
Puntos clave
- Los valores posicionales de las fracciones binarias son 1/2, 1/4, 1/8, y así sucesivamente.
- Multiplica una parte fraccionaria por 2 y lee las partes enteras en orden.
- Una fracción irreducible termina en binario exactamente cuando su denominador es una potencia de 2.
- La coma fija establece un compromiso entre rango y resolución fraccionaria para un ancho total fijo.
3.2 Lee y escribe los campos de IEEE 754
La coma flotante escribe un valor en notación científica binaria. Por ejemplo, 6,25 es . La parte inicial es el significando (mantisa) y el exponente determina su escala. IEEE 754 define formatos muy usados para almacenar estas partes.
Conoce los campos
| Formato | Total | Signo | Exponente | Fracción | Sesgo |
|---|---|---|---|---|---|
| Simple, binary32 | 32 bits | 1 | 8 | 23 | 127 |
| Doble, binary64 | 64 bits | 1 | 11 | 52 | 1023 |
Para un valor normal, la interpretación es . Aquí, es el bit de signo, es el exponente almacenado sin signo y es el campo de fracción. Un bit de signo de 0 significa positivo; 1 significa negativo. Cambiar solo el bit de signo cambia el signo de un valor en coma flotante.
El exponente almacenado es igual al exponente real más el sesgo. En precisión simple, el exponente 2 se convierte en 129, o 10000001; el exponente −3 se convierte en 124, o 01111100. Los exponentes normales almacenados van de 1 a 254 y representan de −126 a 127.
Un significando binario normal siempre empieza por 1, así que el formato omite ese bit implícito. Solo los bits posteriores a la coma entran en el campo de fracción. Esto ofrece 24 dígitos binarios significativos en precisión simple y 53 en doble.
Codifica −6,25 paso a paso
Primero normaliza su magnitud: . Después completa los campos:
- Valor negativo: signo 1.
- Exponente 2: suma 127 para obtener 129, escrito 10000001.
- Fracción ,1001: almacena 1001 seguido de 19 ceros.
El resultado es 1 10000001 10010000000000000000000, o 0xC0C80000. La fracción se completa por la derecha porque estas posiciones continúan después de la coma. Almacenar el 1 inicial desplazaría el significado de la fracción.
Un exponente real negativo lleva la escala por debajo de uno. Para 0,15625, la forma binaria es . Su signo en binary32 es 0 y su exponente almacenado es 124, o 01111100. La fracción empieza por 01 y se completa por la derecha. El 1 implícito sigue formando parte del significando normalizado, aunque el número completo sea menor que uno.
Decodifica un patrón
El patrón de precisión simple 0x41200000 se divide en 0 10000010 01000000000000000000000. El signo es positivo. El campo de exponente es 130, así que resta 127 para obtener 3. Recupera el 1 implícito para obtener . Por último, .
Comprueba primero los exponentes reservados
La fórmula para valores normales no describe todos los patrones:
| Campo de exponente | Campo de fracción | Significado |
|---|---|---|
| Todos ceros | Cero | +0 o −0, según el signo |
| Todos ceros | Distinto de cero | Un valor subnormal, con 0 inicial |
| Todos unos | Cero | Infinito positivo o negativo |
| Todos unos | Distinto de cero | NaN, «no es un número» |
Los subnormales representan valores muy pequeños sin el 1 implícito. NaN puede resultar de una operación numérica no válida, como 0 dividido entre 0. IEEE 754-2019 define estos formatos.
Puntos clave
- La precisión simple tiene campos de 1, 8 y 23 bits; la doble tiene 1, 11 y 52.
- Resta el sesgo del exponente al decodificar; súmalo al codificar.
- Los valores normales tienen un 1 inicial que no se almacena.
- Completa el campo de fracción con ceros por la derecha.
- Los campos de exponente formados solo por ceros o solo por unos tienen significados especiales.
- Los campos de signo y exponente de coma flotante no forman un entero en complemento a dos.
3.3 Rango de representación, precisión y error de redondeo
Un formato de coma flotante puede cubrir un rango enorme sin representar todos los valores de ese rango. El exponente controla la escala; el campo de fracción controla cuántos bits significativos distinguen valores cercanos. El rango de representación y la precisión responden a preguntas diferentes.
Compara la precisión simple y la doble
La precisión simple alcanza aproximadamente y tiene unas siete cifras decimales significativas. Su menor valor normal positivo es aproximadamente . La doble alcanza aproximadamente , tiene unas 15–16 cifras decimales significativas y su menor valor normal positivo es aproximadamente . Los valores subnormales se extienden por debajo del mínimo normal de cada formato.
Las cifras significativas se cuentan desde la primera cifra relevante, no desde la coma decimal. Un exponente grande no crea más bits de fracción. En precisión simple, la separación por encima de 1 es . Entre y la separación es 2, por lo que el entero 16 777 217 no está disponible, aunque sea mucho menor que el máximo valor finito.
Redondea a un valor que quepa
La regla predeterminada de IEEE 754 es redondeo al más cercano, al par en caso de empate. Elige el valor representable más cercano; si está exactamente a medio camino, elige aquel cuyo último bit conservado del significando sea par. Así, 16 777 217 se redondea a 16 777 216 en precisión simple.
La diferencia entre el valor deseado y el almacenado es el error de redondeo. En precisión simple, 0,1 se almacena como 0,100000001490116119384765625. En doble es aproximadamente 0,10000000000000000555. Una mayor precisión reduce este error, pero no puede hacer que termine un desarrollo periódico.
Comprende un resultado conocido
Con la aritmética habitual de precisión doble de IEEE 754, sumar 0,1 y 0,2 produce un resultado almacenado que suele mostrarse como 0.30000000000000004. Difiere de la aproximación almacenada de 0,3, por lo que 0.1 + 0.2 == 0.3 es falso en lenguajes como Python y JavaScript. Para resultados de mediciones, compara la diferencia con una tolerancia elegida según la escala y el propósito de la tarea.
Muchos valores son exactos. La precisión doble representa exactamente todos los enteros desde hasta . Valores como 0,5 y 0,375 también tienen formas binarias cortas que caben tanto en su significando como en su rango de exponentes.
Elige un tipo numérico adecuado
Los enteros son adecuados para recuentos e identificadores. Para importes financieros exactos convienen cantidades enteras de unidades monetarias menores, como centésimas de unidad monetaria, o un tipo numérico decimal. La coma flotante suele ser adecuada para medidas y cálculos científicos. Una magnitud demasiado grande para el formato puede desbordarse hasta infinito; con la regla de redondeo predeterminada, en precisión simple se convierte en infinito positivo. Los resultados muy pequeños pueden convertirse en subnormales o redondearse a cero.
Las convenciones de presentación son independientes del almacenamiento. Las formas «3.14» y «3,14» pueden nombrar el mismo número en distintas configuraciones regionales. Un lector de texto debe conocer esa convención; de lo contrario, podría rechazar la coma o interpretar el valor como 314. Cambiar el separador mostrado no mejora la precisión binaria.
Puntos clave
- El rango controla la magnitud; la precisión controla la separación entre valores cercanos.
- Las separaciones en coma flotante aumentan al crecer la magnitud.
- La regla predeterminada redondea al más cercano y, en empates exactos, al valor con último bit par.
- Una fracción decimal corta puede necesitar redondeo en binario.
- Elige almacenamiento entero, decimal o en coma flotante según la tarea.
4Convierte caracteres en códigos y bytes
El texto necesita un acuerdo entre el software que lo escribe y el que lo lee. ASCII asigna códigos numéricos a un conjunto pequeño de caracteres. Unicode proporciona un espacio de códigos común para muchos sistemas de escritura, mientras que codificaciones como UTF-8 determinan los bytes concretos. Distinguir un carácter mostrado de un punto de código y de un byte te ayuda a calcular tamaños de texto y a explicar por qué un archivo guardado correctamente puede aparecer ilegible.
4.1 Códigos ASCII y sus limitaciones
Para almacenar texto, un sistema asigna códigos numéricos a los caracteres y escribe esos números como bits. Un código de carácter solo funciona cuando quien lee usa el mismo acuerdo que quien escribe. El byte de una letra es una etiqueta codificada; no es una imagen diminuta de esa letra.
Interpreta la tabla ASCII
ASCII, el Código Estándar Estadounidense para el Intercambio de Información, se publicó por primera vez en 1963. Usa 7 bits para 128 códigos, numerados de 0–127. En el almacenamiento basado en bytes, un código ASCII suele ocupar un byte con un 0 inicial.
| Códigos | Significado |
|---|---|
| 0–31 y 127 | Caracteres de control |
| 32 | Espacio |
| 48–57 | Dígitos «0»–«9» |
| 65–90 | Mayúsculas «A»–«Z» |
| 97–122 | Minúsculas «a»–«z» |
Los signos de puntuación ocupan los huecos. Los códigos 32–126 forman 95 caracteres imprimibles, incluido el espacio. Los controles afectan al tratamiento del texto sin imprimir un símbolo visible: la tabulación es 9, el salto de línea es 10 y el retorno de carro es 13.
Codifica una cadena corta
El texto formado por «H», «i» y «!» tiene tres caracteres. Sus códigos decimales son 72, 105 y 33; en hexadecimal son 0x48, 0x69 y 0x21. Como bytes completos, el texto se convierte en 01001000 01101001 00100001. El signo de exclamación necesita un código igual que las letras.
El código de una letra ASCII minúscula es 32 unidades mayor que el de su mayúscula. «A» es 65, o 01000001, mientras que «a» es 97, o 01100001. Ese único bit cambiado explica la diferencia. El orden también sitúa todas las mayúsculas antes que todas las minúsculas. Por tanto, una ordenación sencilla basada en códigos coloca «Zorro» antes que «abeja»; no sigue el orden habitual de un diccionario.
Distingue un dígito de un número
El carácter «7» tiene el código decimal 55 y el byte 00110111. El entero 7 tiene el byte 00000111. Para recuperar el valor numérico de un dígito a partir de su código ASCII, resta 48, el código de «0»: . Esto funciona porque los diez códigos de dígitos son consecutivos.
El almacenamiento depende de la representación elegida. El texto «2026» necesita cuatro bytes ASCII, uno por dígito. El entero 2026 cabe en dos bytes como valor sin signo de 16 bits. El texto conserva la secuencia de caracteres; un entero representa el valor numérico. Por ejemplo, un identificador textual puede conservar ceros iniciales que un entero no distingue.
Para codificar una cadena más larga, procesa cada carácter en orden, incluidos espacios, signos de puntuación y controles. La decodificación invierte la consulta, un código cada vez, con la misma tabla. La secuencia importa: intercambiar dos códigos válidos puede seguir produciendo ASCII válido, pero produce un texto diferente. Que una consulta tenga éxito confirma que los códigos se reconocen, no que tengan el orden o el significado deseados.
Comprende por qué las páginas de códigos causaban problemas
ASCII no tiene letras con signos diacríticos como «é», «ñ» o «ü», ni caracteres griegos, cirílicos, árabes o chinos. Las páginas de códigos posteriores de 8 bits usaban los valores 128–255 para símbolos adicionales, pero no coincidían en las incorporaciones.
Por ejemplo, el byte 0xE9 significa «é» en Latin-1, pero «й» en Windows-1251. Windows-1252 es otra página de códigos habitual. Por tanto, un valor de byte no puede identificar un carácter ajeno a ASCII sin conocer la codificación. Usar la tabla incorrecta puede producir símbolos aparentemente legibles que siguen siendo el texto equivocado.
Puntos clave
- ASCII define 128 códigos con 7 bits, normalmente almacenados uno por byte.
- Los caracteres imprimibles incluyen espacios y puntuación; los controles tienen otras funciones.
- Los caracteres de dígitos tienen códigos distintos de los enteros que nombran.
- Distintas páginas de códigos antiguas pueden asignar caracteres diferentes al mismo byte.
4.2 Puntos de código Unicode y codificaciones UTF
Unicode asigna a los caracteres de los sistemas de escritura del mundo un conjunto común de números llamados puntos de código. «A» es U+0041, «é» es U+00E9, «Ж» es U+0416, «中» es U+4E2D y «😀» es U+1F600. La notación U+ usa hexadecimal con al menos cuatro dígitos.
Distingue un punto de código de sus bytes
El espacio de códigos va de U+0000 a U+10FFFF, es decir, 1 114 112 posiciones, con más de 150 000 caracteres asignados. Un punto de código identifica un carácter o una posición reservada; una codificación determina su representación en bytes.
| Codificación | Almacenamiento de un punto de código de carácter válido |
|---|---|
| UTF-8 | 1–4 bytes |
| UTF-16 | 2 bytes hasta U+FFFF; 4 bytes por encima |
| UTF-32 | 4 bytes |
El intervalo de sustitutos U+D800–U+DFFF está reservado para el mecanismo de emparejamiento de UTF-16; los sustitutos aislados no son caracteres válidos para codificar en estas formas. Un par de unidades de código UTF-16 representa un punto de código suplementario. Por ejemplo, «😀» es D83D DE00 en UTF-16.
Interpreta los intervalos de bytes de UTF-8
UTF-8 conserva ASCII: U+0000–U+007F usan un byte. U+0080–U+07FF usan dos; los puntos de código de caracteres válidos de U+0800–U+FFFF usan tres; U+10000–U+10FFFF usan cuatro. Esto hace que el texto inglés en ASCII sea compatible byte por byte con UTF-8.
Un carácter de un solo byte empieza por 0. Los caracteres más largos empiezan por 110, 1110 o 11110 para dos, tres o cuatro bytes. Cada byte de continuación empieza por 10. Los bits restantes contienen el punto de código.
Para «é», U+00E9, el valor de 11 bits es 00011101001. Divídelo en cinco bits y seis bits: 00011 y 101001. Insértalos en 110xxxxx 10xxxxxx para obtener 11000011 10101001, o C3 A9. El punto de código 00E9 no es por sí mismo la secuencia de bytes UTF-8.
La codificación y la decodificación también deben respetar los prefijos de los bytes. Un byte de continuación UTF-8 no es un byte ASCII independiente: sus primeros dos bits son 10, por lo que pertenece al interior de una secuencia de carácter más larga. Eliminar parte de un carácter de varios bytes al aplicar un límite de bytes puede dejar una secuencia incompleta. Por tanto, la longitud de almacenamiento y los límites por los que puede dividirse el texto están relacionados.
Cuenta los elementos adecuados
«café» tiene cuatro caracteres visibles, pero cinco bytes UTF-8: 63 61 66 C3 A9. «€» usa E2 82 AC, tres bytes; «中» usa E4 B8 AD, también tres; «😀» usa F0 9F 98 80, cuatro. Por tanto, un límite de bytes puede admitir menos caracteres de lo que su cifra sugiere.
Un carácter visible también puede contener varios puntos de código. «é» puede ser U+00E9 o «e» seguido de U+0301, un acento agudo combinante. La segunda forma usa tres bytes UTF-8, 65 CC 81. La normalización Unicode convierte secuencias equivalentes a una forma común para compararlas. El emoji visible «👍🏽» contiene dos puntos de código, U+1F44D y U+1F3FD, que suman ocho bytes UTF-8.
Diagnostica el texto ilegible por codificación incorrecta
«café» en UTF-8 leído como Windows-1252 se convierte en «café»: C3 y A9 se tratan como caracteres separados. Esto es texto ilegible por una codificación incorrecta, causado por decodificar con la codificación equivocada. Una decodificación correcta puede recuperar el texto mientras los bytes originales permanezcan intactos. Una página web puede declarar su codificación con <meta charset="utf-8">.
Puntos clave
- Un punto de código identifica un carácter; una codificación elige sus bytes.
- UTF-8 usa de uno a cuatro bytes y conserva ASCII sin cambios.
- Los bytes de continuación de UTF-8 empiezan por 10.
- Un carácter visible, un punto de código y un byte son unidades de recuento diferentes.
- La normalización puede unificar secuencias de caracteres equivalentes.
- Decodificar con una codificación equivocada puede producir texto ilegible.
5Mide imágenes y sonido en bits
Las imágenes y las grabaciones convierten los detalles visuales y sonoros en números. Un mapa de bits almacena una cuadrícula de valores de píxeles; el audio muestreado almacena medidas tomadas a intervalos regulares. Su almacenamiento depende de cuántos valores se conservan y cuántos bits necesita cada valor. Estas decisiones también afectan a los detalles que se conservan. Los dibujos vectoriales y MIDI siguen otro enfoque: describen formas o notas mediante instrucciones que un dispositivo convierte después en una imagen o en sonido.
5.1 Píxeles, RGB, paletas y transparencia
Un mapa de bits, también llamado imagen ráster, es una cuadrícula de píxeles. Cada píxel contiene un valor de color. El ancho y el alto indican la resolución de la imagen: 1920 por 1080 significa píxeles. El número de píxeles describe la cuadrícula, no su tamaño impreso en metros.
Asigna suficientes bits a cada píxel
La profundidad de color es el número de bits usados para el color de un píxel. Una profundidad de bits permite códigos posibles. Un bit puede distinguir dos colores. Una escala de grises de ocho bits puede distinguir 256 intensidades, normalmente de 0 para negro a 255 para blanco.
Una imagen sencilla de 3 por 3 puede usar 1 para negro y 0 para blanco. Un signo más negro se representa mediante las filas 010, 111 y 010. Nueve píxeles de un bit cada uno necesitan nueve bits de información de píxeles. El almacenamiento real del archivo puede incluir relleno y otra información además de esos bits.
Mezcla luz con RGB
RGB almacena intensidades de luz roja, verde y azul. Con 8 bits por canal, cada intensidad va de 0 a 255 y un píxel usa 24 bits. El número de colores posibles es .
| Valores RGB | Color |
|---|---|
| (0, 0, 0) | Negro |
| (255, 255, 255) | Blanco |
| (255, 0, 0) | Rojo |
| (0, 0, 255) | Azul |
| (255, 255, 0) | Amarillo |
RGB es una mezcla aditiva de luz. Combinar luz roja y verde produce amarillo. Una predicción basada en mezclar pintura usa un proceso diferente y da un modelo incorrecto para una pantalla.
Interpreta códigos de color hexadecimales
Un color web usa #RRGGBB: dos dígitos hexadecimales para rojo, después verde y después azul. #FF8000 significa (255, 128, 0), un naranja. #808080 significa (128, 128, 128), un gris medio; valores iguales en los canales producen un gris. #0000FF da el valor máximo de azul con rojo y verde a cero.
Cada par es un byte. Así, FF es 255, no un par de intensidades de color separadas. El # identifica el código RGB completo y no ocupa un canal.
Los modelos RGB y de paleta resuelven de forma distinta la consulta de un píxel. En RGB directo, leer el píxel proporciona inmediatamente las intensidades de sus tres canales. En color indexado, leer el píxel proporciona un número de entrada y una segunda consulta aporta las intensidades. Por tanto, cambiar una entrada de la paleta puede cambiar muchos píxeles visibles que comparten el mismo índice, aunque sus índices almacenados sigan sin cambios.
Almacena un índice de paleta
Cuando una imagen usa pocos colores, puede guardar una paleta de colores, una tabla con los colores seleccionados. Entonces un píxel almacena un índice de esa tabla. Una paleta de 16 colores necesita cuatro bits por píxel porque cuatro bits distinguen 16 entradas. La propia paleta también ocupa almacenamiento. GIF usa hasta 256 colores de paleta, lo que permite un índice de 8 bits por píxel.
Añade transparencia
Un canal alfa describe la opacidad. Una escala habitual de 8 bits usa 0 para totalmente transparente y 255 para totalmente opaco, con valores intermedios para transparencia parcial. Añadir ese canal a RGB de 24 bits da RGBA de 32 bits. Alfa es independiente de rojo, verde y azul: un píxel totalmente transparente puede seguir teniendo valores de color almacenados que no se muestran en la imagen final.
Puntos clave
- Un mapa de bits almacena una cuadrícula de valores de píxeles.
- La profundidad de color determina el número de códigos de color disponibles por píxel.
- RGB habitual usa tres canales de 8 bits, que suman 24 bits.
- Un índice de paleta selecciona un color de una tabla.
- Un canal alfa añade información de opacidad; alfa de 8 bits convierte RGB en RGBA de 32 bits.
5.2 Calcula el almacenamiento de imágenes y vídeo
Los datos de píxeles de un mapa de bits sin comprimir aumentan con el número de píxeles y los bits por píxel. Mantener las unidades en cada paso ayuda a distinguir la cantidad de información del tamaño en bytes que indica un visor de archivos.
Calcula los datos de píxeles
Usa . Divide entre 8 para obtener bytes. El ancho y el alto deben multiplicarse porque cada fila contiene un ancho completo de píxeles.
Para 1920 por 1080 a 24 bits por píxel, calcula primero 2 073 600 píxeles. Multiplica por 24 para obtener 49 766 400 bits y después divide entre 8 para obtener 6 220 800 bytes. Son unos 6,2 MB, o 5,93 MiB. Cambiar la unidad no cambia los datos de píxeles subyacentes.
Para 640 por 480 en escala de grises de 8 bits, hay 307 200 píxeles. Ocho bits cada uno dan 2 457 600 bits; dividir entre 8 da 307 200 bytes, unos 307 kB. Aquí, un byte por píxel hace que el número final de bytes sea igual al número de píxeles.
Predice los cambios antes de calcular
Duplicar el ancho duplica los píxeles de cada fila. Duplicar el alto duplica las filas. Por tanto, duplicar ambos multiplica por cuatro el número de píxeles y el almacenamiento. Aumentar la profundidad de 8 a 24 bits por píxel triplica el almacenamiento con la misma resolución. Estos factores se multiplican si cambian ambos.
El cálculo sin comprimir da los datos de píxeles, no necesariamente un archivo de imagen completo. Un archivo también almacena metadatos, como el ancho, el alto, la profundidad de color y el formato. Una foto puede registrar los ajustes de la cámara, la fecha y la ubicación. Las tablas de paleta, las cabeceras, el relleno y la compresión también pueden cambiar el tamaño final en bytes.
Para profundidades inferiores a ocho bits, calcula toda la carga útil en bits antes de convertir. Una imagen de un bit de 100 por 60 contiene 6000 bits de píxeles, o 750 bytes empaquetados. Tratar cada píxel como un byte multiplicaría esa carga útil por ocho. Si un formato añade relleno a cada fila hasta un límite determinado, ese relleno debe sumarse por separado; no es un cambio de profundidad de color.
Amplía el cálculo al vídeo
Un vídeo presenta una secuencia de imágenes llamadas fotogramas. A 30 fotogramas por segundo, un vídeo RGB de 1920 por 1080 necesita bytes de datos de imagen sin comprimir cada segundo, unos 187 MB/s. Multiplicar por la duración da el total de datos de imagen. El sonido añade su propio almacenamiento.
Esta tasa elevada explica por qué los archivos de vídeo habituales están comprimidos. La tasa de un vídeo comprimido es una cantidad distinta; no puede deducirse solo de la resolución.
Compara imágenes ráster y vectoriales
| Mapa de bits | Vectorial |
|---|---|
| Almacena una cuadrícula de valores de color | Almacena formas e instrucciones de dibujo |
| Es adecuado para fotografías y texturas | Es adecuado para logotipos, diagramas y contornos tipográficos |
| Ampliar la cuadrícula deja ver los píxeles | Las formas pueden volver a dibujarse a mayor escala |
Un archivo vectorial puede describir una línea de (0, 0) a (100, 50), o un círculo mediante su centro, radio y relleno. No necesita almacenar un valor de color separado para cada punto dentro del círculo. Por eso los dibujos sencillos pueden ocupar poco espacio. SVG es un formato vectorial habitual.
Una pantalla sigue necesitando píxeles. La rasterización convierte las formas en una cuadrícula de píxeles del tamaño solicitado. Escalar instrucciones vectoriales conserva la geometría de la forma; ampliar un mapa de bits existente no puede recuperar detalles que su cuadrícula original nunca registró.
Puntos clave
- Los bits de un mapa de bits sin comprimir equivalen a ancho × alto × bits por píxel.
- Divide los bits entre 8 antes de expresar el resultado en bytes.
- Duplicar ambas dimensiones cuadruplica los datos de píxeles con la misma profundidad.
- Los datos de imagen de vídeo sin comprimir equivalen a bytes por fotograma × frecuencia de fotogramas × duración.
- Los metadatos y la compresión hacen que el tamaño del archivo difiera del cálculo de píxeles sin comprimir.
- Los gráficos vectoriales almacenan formas que se rasterizan para mostrarlas.
5.3 Muestrea sonido y calcula el tamaño del audio
El sonido es una vibración de la presión del aire. Un micrófono lo convierte en una señal eléctrica analógica que varía continuamente. Un convertidor analógico-digital toma medidas regulares, llamadas muestras, y almacena cada una como un número.
Distingue la frecuencia temporal del detalle de la medida
La frecuencia de muestreo, medida en hercios, es el número de muestras tomadas cada segundo por canal. Una frecuencia de 44 100 Hz es 44,1 kHz. Los CD usan 44,1 kHz, las pistas de sonido de vídeo suelen usar 48 kHz y el audio de telefonía tradicional usa 8 kHz. Las muestras registran valores en esos instantes; no son un registro continuo de todos los instantes intermedios.
La profundidad de bits determina cuántos niveles puede usar cada muestra. Ocho bits ofrecen 256 niveles, 16 ofrecen 65 536 y 24 ofrecen 16 777 216. Redondear una medida a un nivel es la cuantificación. La diferencia respecto a la medida original produce un error de cuantificación que puede oírse como ruido. Más bits ofrecen niveles más finos y reducen ese error.
La frecuencia de muestreo controla el detalle temporal; la profundidad de bits controla el detalle de la amplitud medida. Aumentar una no sustituye aumentar la otra.
Capta el rango de frecuencias
El teorema del muestreo exige una frecuencia de muestreo mayor que el doble de la frecuencia máxima que se desea captar. Para captar 20 kHz, la frecuencia debe superar 40 kHz. Exactamente el doble no basta para una señal arbitraria en el límite.
A 44,1 kHz, el límite teórico está por debajo de 22,05 kHz. El margen por encima de unos 20 kHz, el límite superior aproximado del oído humano, deja espacio para un filtro contra el solapamiento espectral. Las frecuencias superiores a la mitad de la frecuencia de muestreo pueden aparecer como frecuencias falsas más bajas, lo que se llama solapamiento espectral. Un convertidor filtra esas frecuencias altas antes de muestrear.
Una frecuencia de 44 100 Hz se aplica a cada canal, no a la grabación como un flujo combinado. Por tanto, el estéreo almacena 88 200 valores de muestra cada segundo. El factor de canales forma parte de la fórmula de almacenamiento porque cada instante tiene un valor izquierdo y otro derecho. No duplica la frecuencia máxima que puede captar cada canal; ese límite sigue dependiendo de su propia frecuencia de muestreo.
Calcula el audio sin comprimir
El mono tiene un canal; el estéreo tiene dos. El tamaño de la carga útil es
Para una grabación estéreo de tres minutos a 44 100 Hz y 16 bits, la tasa es bit/s. Multiplica por 180 segundos para obtener 254 016 000 bits y después divide entre 8: 31 752 000 bytes, unos 31,8 MB.
Una grabación mono de diez segundos a 8000 Hz y 8 bits da bits, u 80 000 bytes. Una grabación estéreo con los mismos ajustes ocuparía el doble.
Elige qué almacenar
Unas frecuencias y profundidades mayores requieren más espacio. Los ajustes de CD suelen bastar para escuchar; los estudios suelen usar 24 bits y 48 kHz o más para dejar margen de procesamiento y edición.
MIDI registra instrucciones de notas: qué notas, cuándo empiezan, su intensidad y los instrumentos elegidos. Puede ocupar mucho menos que una interpretación muestreada, pero la reproducción depende de los sonidos de instrumentos disponibles. MIDI puede describir la melodía de una persona que canta como notas; no puede contener su voz grabada real.
Puntos clave
- La frecuencia de muestreo cuenta medidas por segundo; la profundidad de bits cuenta bits por medida.
- La cuantificación redondea una muestra a uno de los niveles disponibles.
- La frecuencia de muestreo debe superar el doble de la frecuencia máxima que se desea captar.
- Los filtros contra el solapamiento espectral eliminan frecuencias altas antes del muestreo.
- Los bits de audio equivalen a frecuencia de muestreo × profundidad de bits × canales × segundos.
- MIDI almacena instrucciones de interpretación, no una forma de onda grabada.
6Comprime datos y elige un formato
La compresión reduce los bits necesarios para almacenar o enviar datos. Algunos métodos sustituyen información repetida por descripciones más cortas que permiten recuperarla exactamente. Otros eliminan detalles de imágenes y sonido para lograr archivos más pequeños. Seguirás códigos sencillos, tendrás en cuenta la información que necesita un decodificador y elegirás un formato según lo que deba conservarse. Un archivo destinado a la edición o a la recuperación exacta tiene necesidades distintas de un flujo final para escuchar o ver.
6.1 Códigos sin pérdidas y sus limitaciones
La compresión sin pérdidas permite que la descompresión reconstruya exactamente los bits originales. El texto, los archivos de programas, las hojas de cálculo y otros datos exactos necesitan esa propiedad. ZIP, PNG, GIF y FLAC son formatos sin pérdidas conocidos. Aprovechan la redundancia: información repetida o predecible que tiene una descripción más corta.
Describe rachas repetidas
La codificación por longitud de rachas, o RLE, sustituye símbolos idénticos consecutivos por un recuento y el símbolo. La cadena de 18 caracteres «AAAAAABBBCCCCCCCCD» se convierte en «6A3B8C1D», ocho caracteres según esta convención de recuento y símbolo. La decodificación desarrolla cada par: seis A, tres B, ocho C y una D.
La misma idea sirve para zonas de imagen de color plano. La fila de píxeles 0000000011110000 puede describirse como ocho ceros, cuatro unos y cuatro ceros. Un archivo real debe definir cómo se almacenan los recuentos y los símbolos para que la decodificación sea inequívoca.
Las rachas cortas pueden aumentar el tamaño con RLE. «ABCD» se convierte en «1A1B1C1D», lo que duplica el número de caracteres antes de añadir cualquier cabecera. La compresión solo funciona cuando el ahorro supera el coste de describir el patrón.
Haz referencia a una secuencia repetida
Un método de compresión por diccionario sustituye una secuencia repetida por una referencia. Los métodos de la familia LZ son la base de formatos como ZIP y PNG. En «nunca digas: nunca», el segundo «nunca» puede sustituirse por una instrucción para retroceder 13 caracteres y copiar cinco. Los espacios cuentan como caracteres. El decodificador ya tiene ese texto anterior y puede reproducir la secuencia a partir de la referencia.
Asigna códigos más cortos a los símbolos frecuentes
Un código de longitud variable usa distintas longitudes de bits para distintos símbolos. La codificación de Huffman construye códigos a partir de las frecuencias de los símbolos. En «ABRACADABRA», A aparece cinco veces, B y R dos veces cada una, y C y D una vez cada una. Un código de ancho fijo para cinco símbolos necesita tres bits por símbolo, o 33 bits para once letras.
Un código libre de prefijos adecuado es A = 0, B = 10, R = 110, C = 1110 y D = 1111. Los datos codificados usan bits. La tabla de códigos añade sobrecarga, por lo que 23 bits por sí solos no son el tamaño completo del archivo.
Libre de prefijos significa que el código de ningún símbolo es el inicio del código de otro. Por tanto, leer 0110 da A seguido de R sin necesitar separadores. Esta propiedad permite que un decodificador de Huffman reconozca un símbolo en cuanto termina su código.
El decodificador debe conocer la convención de codificación además de la carga útil. Para un flujo de tipo Huffman, necesita la correspondencia entre símbolos y códigos; para RLE, necesita distinguir un recuento de un símbolo. Un mensaje pequeño puede ahorrar bits de carga útil y, aun así, aumentar de tamaño total al incluir esta descripción. Compara los tamaños completos original y codificado al decidir si un método ha reducido realmente el archivo.
Mide el ahorro y reconoce las limitaciones
La relación de compresión es el tamaño original dividido entre el tamaño comprimido. Reducir 6 MB a 2 MB da 3:1. Usa la misma unidad en ambos lados.
Ningún método sin pérdidas puede acortar todos los archivos posibles. Hay entradas diferentes de n bits, pero solo cadenas de bits más cortas que n bits. La recuperación exacta exige que las distintas entradas sigan siendo distinguibles, así que no todas pueden recibir salidas más cortas. Los datos aleatorios y los archivos ya comprimidos suelen reducirse poco o aumentar por la sobrecarga añadida.
Puntos clave
- La descompresión sin pérdidas reproduce exactamente los bits originales.
- La RLE describe símbolos idénticos consecutivos mediante recuentos.
- Los métodos de diccionario sustituyen secuencias repetidas por referencias.
- La codificación de Huffman asigna códigos más cortos según las frecuencias de los símbolos.
- Un código libre de prefijos identifica los límites de los símbolos sin separadores.
- La relación de compresión compara el tamaño original con el comprimido.
- Ningún método sin pérdidas acorta todas las entradas posibles.
6.2 Formatos con pérdidas y decisiones de calidad
La compresión con pérdidas elimina información para reducir el tamaño del archivo. La descompresión crea una versión próxima a la original, con algunos detalles perdidos de forma permanente. Las fotografías, la música, la voz y el vídeo pueden tolerar pérdidas seleccionadas que el texto exacto o los datos de programas no pueden admitir.
Comprime imágenes según su importancia visual
JPEG aprovecha la distinta sensibilidad de la visión humana al brillo, al color y a los detalles finos. Un JPEG típico reduce la resolución de los detalles finos de color y redondea los detalles finos de imagen representados en bloques de 8 por 8. Su ajuste de calidad controla con qué intensidad se descarta información. Una compresión mayor puede producir bloques, desenfoque y halos cerca de los bordes nítidos.
Una fotografía suele poder alcanzar aproximadamente 10:1 con poca pérdida visible. Con esa relación, una imagen con 6 220 800 bytes de datos de píxeles sin comprimir usaría unos 622 080 bytes comprimidos, aproximadamente 0,6 MB. La relación es un ejemplo, no una propiedad fija de todos los JPEG.
Comprime sonido según lo que puede oírse
MP3 y AAC usan codificación perceptual. Un sonido débil puede quedar enmascarado por otro más fuerte de una frecuencia cercana, de modo que el codificador puede dedicar menos bits a información que probablemente no se oiga. Un archivo más pequeño puede seguir sonando de forma muy parecida al original.
Con una tasa de bits constante, el tamaño en bits equivale a la tasa de bits multiplicada por la duración. A 128 kbit/s, una grabación de tres minutos necesita bits, o 2 880 000 bytes, unos 2,9 MB. Es aproximadamente una undécima parte de los 1411,2 kbit/s del audio de CD sin comprimir. La tasa comprimida ya describe el flujo codificado; no la multipliques de nuevo por la profundidad de bits de las muestras originales.
Aprovecha las similitudes entre fotogramas de vídeo
Los fotogramas vecinos suelen mostrar casi la misma escena. Los formatos de vídeo como H.264 y AV1 comprimen los detalles de imagen y describen muchos fotogramas mediante cambios o predicciones a partir de otros fotogramas. Esto elimina información repetida a lo largo del tiempo y también dentro de cada imagen.
Ajusta el formato al uso
| Uso | Elección adecuada | Motivo |
|---|---|---|
| Texto, código o datos exactos | Archivo comprimido sin pérdidas | Deben conservarse todos los bits |
| Foto para compartir | JPEG u otro formato de imagen con pérdidas | Tamaño pequeño con pérdida visual aceptable |
| Captura de pantalla o logotipo | PNG | Conserva bordes nítidos y colores planos |
| Música para reproducción en línea | AAC, MP3 u Opus | Ahorra capacidad de transferencia |
| Máster de audio para archivo | FLAC | Recuperación exacta de las muestras de audio |
Conserva un original sin pérdidas para futuras ediciones. Decodificar y volver a codificar repetidamente con pérdidas puede añadir pérdida generacional. Convertir un JPEG que ya tiene pérdidas a PNG conserva sus píxeles decodificados actuales, pero no puede restaurar los detalles eliminados antes.
Una compresión mayor puede costar calidad, tiempo de procesamiento o ambos. La elección útil depende de lo que contiene el archivo y de cómo se usará; el archivo más pequeño no siempre es el más útil.
Puntos clave
- La compresión con pérdidas elimina permanentemente información seleccionada.
- JPEG aprovecha la sensibilidad visual; el audio con pérdidas usa codificación perceptual.
- El tamaño de un flujo comprimido se obtiene con tasa de bits × duración.
- Conserva un original sin pérdidas cuando importe editar después o recuperar los datos exactos.
- Cambiar un archivo con pérdidas a un formato sin pérdidas no recupera la información descartada.
Ejemplos de Sistema binario y representación de datos
1Construye un código y después interpreta sus bits
12 pasos
- 1IntroducciónUn patrón, varias interpretaciones
Un patrón almacenado tiene dos características separadas: cuántos bits ocupa y cómo los interpreta quien lo lee. Los ocho bits 01000001 podrían significar un número, un carácter de texto o una intensidad de color.
Primero elegiremos suficientes bits para distinguir un conjunto de valores y después interpretaremos un patrón numérico mediante los valores posicionales binarios y el sistema hexadecimal. Cambiar la notación cambia lo que escribes, pero mantiene intacto el valor.
- 2ExplicaciónCuenta opciones duplicando
Cada bit tiene dos opciones, por lo que cada bit añadido duplica el número de patrones. Dos bits ofrecen 00, 01, 10 y 11; tres bits ofrecen ocho patrones. En general, n bits ofrecen patrones.
Para identificar 26 letras, cuatro bits no bastan porque solo ofrecen 16 patrones. Cinco bits ofrecen 32 y dejan seis patrones sin usar. Un código no tiene que usar todos los patrones disponibles.
- 3DesafíoElige un campo para categorías
Un dispositivo debe distinguir 90 categorías. ¿Cuál es el menor número de bits que puede codificarlas? ¿Cuántos patrones quedarán sin usar?
---reveal---
Seis bits ofrecen 64 patrones, insuficientes. Siete ofrecen 128, por lo que el campo necesita siete bits y deja 38 patrones sin usar. La mayor etiqueta numérica podría ser 89 si las etiquetas empiezan en cero; ese extremo es distinto del recuento de 90 categorías.
- 4ConexiónDistingue mayúsculas y minúsculas en la unidad
Un byte tiene ocho bits. Por eso importa si la letra de la unidad es mayúscula o minúscula: b significa bit y B significa byte. Un enlace de 40 Mbit/s tiene un máximo ideal de carga útil de 5 MB/s antes de descontar la sobrecarga.
Los prefijos de las unidades importan por separado. Un MB significa un millón de bytes, mientras que un MiB significa 1 048 576 bytes. Convertir una cantidad almacenada de MB a MiB cambia la cifra sin eliminar ningún dato.
- 5ExplicaciónAlinea las posiciones binarias
La posición entera situada más a la derecha vale 1. Al avanzar hacia la izquierda se obtienen 2, 4, 8, 16, 32, 64, y así sucesivamente. Un 1 selecciona una posición y un 0 la omite.
Para 101101, los valores posicionales seleccionados son 32, 8, 4 y 1, que suman 45. Los ceros iniciales pueden completar un ancho sin cambiar estas posiciones. Un cero ausente dentro del patrón desplazaría algunos dígitos y cambiaría el valor.
- 6EjemploSelecciona las potencias para 156
La mayor potencia de dos que no supera 156 es 128. Réstala para que queden 28. Los valores posicionales 64 y 32 no caben, así que asígnales ceros.
Toma 16 de 28 y quedan 12. Toma 8 y quedan 4; después toma 4 para llegar a cero. Las dos posiciones finales, 2 y 1, reciben ceros. A lo largo de las posiciones de 128 a 1, los bits son 10011100. Conservar todas las posiciones no usadas evita que las potencias elegidas se desplacen.
- 7ConsejoInvierte el orden de los restos de enteros
La división sucesiva es otra vía para obtener el mismo patrón. Dividir un entero entre dos da su último bit como resto. Dividir el cociente encuentra el siguiente bit hacia la izquierda.
Para 156, los restos aparecen como 0, 0, 1, 1, 1, 0, 0, 1. Lee del último al primero para obtener 10011100. El orden inverso es necesario porque la división descubre primero la posición menos significativa.
- 8DesafíoConvierte y comprueba un valor nuevo
Escribe el decimal 109 en ocho posiciones binarias y después usa tu resultado para explicar si 109 es impar.
---reveal---
Las potencias elegidas son 64, 32, 8, 4 y 1, por lo que el patrón es 01101101. Su suma es 109, lo que comprueba la conversión. El último bit es 1; todas las demás posiciones aportan cantidades pares, lo que deja un entero impar. El cero inicial completa el byte sin cambiar el valor.
- 9ExplicaciónSustituye cuartetos de bits por dígitos hexadecimales
El sistema hexadecimal tiene dieciséis dígitos: 0–9 seguidos de A–F para diez a quince. Cuatro bits también distinguen dieciséis patrones, por lo que cada dígito hexadecimal nombra un cuarteto de bits.
Divide 10011100 en 1001 y 1100. El primer grupo es nueve y el segundo es doce, escrito C. El resultado es 0x9C. El hexadecimal usa la cuarta parte de dígitos que el binario, manteniendo una relación directa con los grupos del byte.
- 10EjemploAgrupa un patrón corto desde la derecha
Para convertir 101101, forma grupos desde la derecha: 10 y 1101. Completa el grupo del extremo izquierdo hasta 0010. Ahora los grupos dan 2 y D en hexadecimal, por lo que el valor es 0x2D.
Comprueba con los valores posicionales hexadecimales: dos dieciseisenas más trece unidades dan 45. Agrupar desde la izquierda colocaría el último grupo corto en una posición incorrecta. Dentro de un desarrollo hexadecimal completo, cada dígito debe conservar sus cuatro bits.
- 11DesafíoRelaciona bits, ancho y hexadecimal
Un campo sin signo de ancho fijo almacena 0xB4. ¿Cuántos bits muestran sus dos dígitos hexadecimales, cuál es su patrón binario y qué valor decimal contiene?
---reveal---
Dos dígitos hexadecimales representan ocho bits. B se desarrolla como 1011 y 4 como 0100, por lo que el byte es 10110100. Sus valores posicionales seleccionados suman 128 + 32 + 16 + 4 = 180. De forma equivalente, once dieciseisenas más cuatro dan 180.
- 12RepasoTres comprobaciones para un valor almacenado
Comprueba la capacidad, la notación y las unidades por separado. Un campo necesita suficientes patrones para todos sus valores posibles. El binario selecciona potencias de dos; el hexadecimal agrupa esos bits de cuatro en cuatro desde la derecha.
El valor almacenado se conserva al cambiar la base escrita o la unidad de almacenamiento. Cambiar la interpretación de los datos puede dar un significado distinto a los mismos bits, por lo que el patrón y la regla para interpretarlo deben ir juntos.
2Interpreta valores con signo y conserva su ancho
11 pasos
Guarda esta unidad para seguir cada Lección Interactiva paso a paso.
- 1IntroducciónUn ancho necesita una interpretación
- 2ExplicaciónReserva un patrón para el cero
- 3EjemploSigue el retorno cíclico sin signo
- 4DesafíoElige capacidad suficiente para un recuento
- 5ExplicaciónDa un peso negativo al bit inicial
- 6EjemploEmpieza el patrón de −45
- 7EjemploCompleta el cambio de signo
- 8DesafíoCodifica otro entero negativo
- 9Idea claveExtiende el signo, no solo los ceros
- 10DesafíoAmplía el ancho antes de obtener el opuesto
- 11RepasoMantén la regla junto al patrón
3Construye una codificación en coma flotante
17 pasos
Guarda esta unidad para seguir cada Lección Interactiva paso a paso.
- 1IntroducciónUn valor y una escala
- 2ExplicaciónInterpreta las posiciones fraccionarias
- 3EjemploGenera una fracción finita
- 4Idea clavePredice si los dígitos terminan
- 5DesafíoHalla la escala en coma fija
- 6ExplicaciónReconoce los campos
- 7EjemploEscribe 6,25 en binario
- 8EjemploCodifica el exponente
- 9EjemploAlmacena solo la fracción
- 10EjemploUne los tres campos
- 11DesafíoDecodifica otro valor normal
- 12ConsejoClasifica primero los patrones reservados
- 13ExplicaciónDistingue el rango del espaciado
- 14Idea claveObserva cómo crece la separación
- 15DesafíoRedondea un entero situado a medio camino
- 16DesafíoElige un tipo para un importe exacto
- 17RepasoInterpreta el formato antes del valor
4Sigue el texto desde los caracteres hasta los bytes
12 pasos
Guarda esta unidad para seguir cada Lección Interactiva paso a paso.
- 1IntroducciónEl texto necesita un acuerdo
- 2ExplicaciónEncuentra el código de carácter ASCII
- 3EjemploCodifica letras y puntuación
- 4DesafíoRecupera un dígito numérico
- 5ConexiónPor qué no bastaba un solo byte
- 6ExplicaciónIdentifica antes de codificar
- 7EjemploDivide los bits de é
- 8EjemploCompleta los dos bytes codificados
- 9DesafíoCuenta una cadena con varios sistemas de escritura
- 10Idea claveUn mismo aspecto puede tener dos formas
- 11DesafíoDiagnostica la palabra ilegible
- 12RepasoMantén separados tres recuentos
5Calcula el almacenamiento para imágenes y grabaciones
15 pasos
Guarda esta unidad para seguir cada Lección Interactiva paso a paso.
- 1IntroducciónCuenta valores y después bits por valor
- 2ExplicaciónConstruye un píxel RGB
- 3ConexiónAñade transparencia o usa una paleta
- 4DesafíoInterpreta un color y su profundidad
- 5EjemploEmpieza por la cuadrícula de píxeles
- 6EjemploConvierte la imagen a bytes
- 7DesafíoEscala la cuadrícula y añade fotogramas
- 8Idea claveUn dibujo puede almacenar instrucciones
- 9ExplicaciónMuestrea el tiempo y la amplitud por separado
- 10ExplicaciónFiltra antes de muestrear
- 11EjemploCalcula primero la tasa de datos de audio
- 12DesafíoCalcula otra grabación
- 13ConexiónLas notas pueden sustituir una forma de onda
- 14DesafíoCompara dos cambios de almacenamiento
- 15RepasoMantén visibles los factores y las unidades
6Comprime sin confundir tamaño y fidelidad
12 pasos
Guarda esta unidad para seguir cada Lección Interactiva paso a paso.
- 1IntroducciónDos formas de obtener un archivo más pequeño
- 2ExplicaciónSustituye rachas por recuentos
- 3DesafíoPrueba rachas largas y cortas
- 4ConexiónSeñala una secuencia ya vista
- 5EjemploAsigna códigos cortos a los símbolos frecuentes
- 6DesafíoDecodifica el flujo en orden
- 7Idea claveAlgunas entradas deben seguir siendo grandes
- 8ExplicaciónElimina detalles multimedia menos perceptibles
- 9EjemploUsa directamente una tasa de bits comprimida
- 10DesafíoProtege un máster al compartir una copia
- 11DesafíoCompara una relación con un límite de transferencia
- 12RepasoAjusta la garantía al propósito
Ejercicios de Sistema binario y representación de datos
Set 1: Interpreta patrones y estima almacenamiento10 Preguntas de Práctica
Pregunta 1 de 10
Mostrar respuestaOcultar respuesta
Pregunta 2 de 10
Mostrar respuestaOcultar respuesta
Pregunta 3 de 10
Mostrar respuestaOcultar respuesta
Pregunta 4 de 10
Mostrar respuestaOcultar respuesta
Pregunta 5 de 10
Mostrar respuestaOcultar respuesta
Pregunta 6 de 10
Mostrar respuestaOcultar respuesta
Pregunta 7 de 10
Mostrar respuestaOcultar respuesta
Pregunta 8 de 10
Mostrar respuestaOcultar respuesta
Pregunta 9 de 10
Mostrar respuestaOcultar respuesta
Pregunta 10 de 10
Mostrar respuestaOcultar respuesta
Set 2: Aplica formatos y calcula cargas útiles10 Preguntas de Práctica
Guarda esta unidad para ver todas las respuestas y practicar cada set.
Pregunta 1 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 2 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 3 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 4 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 5 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 6 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 7 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 8 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 9 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 10 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Set 3: Interpreta los mismos bits de distintas formas10 Preguntas de Práctica
Guarda esta unidad para ver todas las respuestas y practicar cada set.
Pregunta 1 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 2 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 3 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 4 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 5 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 6 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 7 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 8 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 9 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 10 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Set 4: Diagnostica errores y relaciona representaciones10 Preguntas de Práctica
Guarda esta unidad para ver todas las respuestas y practicar cada set.
Pregunta 1 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 2 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 3 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 4 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 5 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 6 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 7 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 8 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 9 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 10 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Set 5: Combina límites, codificaciones y decisiones de tamaño10 Preguntas de Práctica
Guarda esta unidad para ver todas las respuestas y practicar cada set.
Pregunta 1 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 2 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 3 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 4 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 5 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 6 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 7 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 8 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 9 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 10 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
¿Te atascas con una pregunta tuya? Ayuda con Tareas
Términos Clave
A
Ancho fijo
Artefacto de compresión
ASCII
B
Base
Bit
Bit de signo
Bit implícito
Bit más significativo
Bit menos significativo
Byte
C
Cambio de signo
Canal alfa
Carácter de control
Codificación
Codificación de Huffman
Codificación perceptual
Codificación por longitud de rachas
Código de carácter
Código libre de prefijos
Coma binaria
Coma fija
Coma flotante
Complemento a dos
Compresión
Compresión con pérdidas
Compresión sin pérdidas
Cuantificación
Cuarteto de bits
D
Desarrollo binario finito
Desbordamiento
Desbordamiento con retorno cíclico
Dígito hexadecimal
E
Entero sin signo
Error de redondeo
Extensión de signo
F
Fotograma
Frecuencia de muestreo
G
Gráficos vectoriales
I
IEEE 754
M
Mapa de bits
Metadatos de imagen
Método de compresión por diccionario
MIDI
Muestra
N
NaN
Normalización Unicode
Notación posicional
P
Página de códigos
Paleta de colores
Pérdida generacional
Píxel
Precisión
Prefijo 0x
Prefijo binario de la IEC
Prefijo del SI para unidades de almacenamiento
Profundidad de bits de audio
Profundidad de color
Punto de código
R
Rango de representación
Rasterización
Redondeo al par en caso de empate
Redundancia
Relación de compresión
Resolución
RGB
S
Señal analógica
Sesgo del exponente
Significando
Signo y magnitud
Sistema binario
Sistema hexadecimal
Solapamiento espectral
Subdesbordamiento
T
Tasa de bits
Teorema del muestreo
Texto ilegible por una codificación incorrecta
Tipo de dato
U
Unicode
UTF-8
UTF-16
V
Valor subnormal
- 1Pensamiento computacional
- 2Sistema binario y representación de datos
- 3Cómo funcionan las computadoras
- 4Algoritmos de búsqueda y ordenación
- 5Lenguajes y paradigmas de programación
- 6Cómo funciona Internet
- 7Informática, ética y sociedad
Sobre esta unidad
Crea tus propios Materiales de Estudio
Convierte tus notas, diapositivas y documentos en Guías de Estudio, Preguntas de Práctica, Flashcards y 6 herramientas más.