Tema 1. Representació i comunicació de la informació.
Índex
- Introducció
- El concepte d'informació i la seva representació digital
- Sistemes de numeració i conversions
- Representació de nombres enters
- Representació de nombres reals: coma flotant IEEE 754
- Representació decimal codificada en binari (BCD)
- Representació de la informació alfanumèrica: codis de caràcters
- Codis detectors i correctors d'error
- Magnituds d'informació i unitats de mesura
- Fonaments de teoria de la informació
- Comunicació i transmissió de dades
- Compressió de la informació
- Aplicació didàctica i relació amb el currículum
- Conclusió
- Bibliografia i referències
1. Introducció
Tota la informàtica descansa sobre una idea aparentment simple però d'enorme abast: qualsevol informació que un ésser humà sigui capaç de concebre — un número, una lletra, una imatge, un so, una ordre de programa — pot reduir-se a una seqüència de símbols discrets i, en última instància, a combinacions de dos estats físics distingibles. Aquesta reducció és el que anomenem representació digital de la informació, i constituix el fonament sobre el qual s'edificaran tots els altres temes del temari: sense una representació rigorosa no hi ha aritmètica en el processador, no hi ha emmagatzematge, no hi ha xarxes ni multimèdia.
L'elecció del sistema binari no és arbitrària ni merament històrica. Un dispositiu electrònic distingix amb molta més fiabilitat la presència o absència de tensió (dos estats) que deu nivells de tensió diferents. La immunitat al soroll, la regeneració perfecta del senyal i la senzillesa de l'àlgebra de Boole associada fan del bit la unitat natural de la informació en els computadors. A partir d'ell, tot és qüestió de codificació: Establir convenis que associïn biunívocament les entitats del món (númnters, caràcters, mostres de senyal) amb seqüències de bits. Un exemple quotidià il·lustra l'avantatge: si un marge de decisió separa el 0 de l'1 amb folgura de diversos volts, una interferència que degrada el senyal en unes dècimes no altera el bit llegit, i el receptor pot regenerar el pols original net; amb deu nivells, aquesta mateixa interferència produiria lectures errònies. La informàtica digital és, en el fons, l'art d'operar dins d'aquests marges de seguretat.
Aquest tema aborda aquesta tasca de codificació en les seves dues grans vessants. La primera és la representació: com expressar números sencers i reals, caràcters i símbols mitjançant bits, garantint que les operacions aritmètiques i lògiques siguin correctes i eficients. La segona és la comunicació: com transmetre aquestes seqüències de bits d'un punt a un altre, quines lleis teòriques (Shannon) governen la capacitat d'un canal, com protegir- se dels errors que la transmissió i l'emmagatzematge introduixen, i com com comprimir la informació per ocupar menys espai o amplada de banda. Les dues vessants compartixen un matix aparell conceptual, la teoria de la informació, que tanca el tema i li dóna unitat.
El desenvolupament que seguix combina el rigor matemàtic imprescindible (sistemes de numeració, complement a dos, estàndard IEEE 754, codis de Hamming, entropia de Shannon) amb la perspectiva de l'estàndard industrial vigent el 2026 (Unicode 16, UTF-8, CRC-32, còdecs AV1 i H.266, compressors Zstandard i Brotli, codificacions de canal LDPC de 5G), perquè el professorat de la família d'informologia i comunicacions ha de transmetre no només els fonaments atemporals, sinó també la seva materialització tecnològica actual. Convé subratllar des del principi una tesi que recorrerà tot el tema: els principis són estables — el bit, el complement a dos, l'entropia de Shannon porten dècades immutables —, mentre que la seva encarnació tecnològica evoluciona sense cessar; distingir el permanent de la circumstancial és, precisament, la marca del bon docent de l'especialitat.
2. El concepte d'informació i la seva representació digital
Convé distingir tres plànols que sovint es confonen. El dato és el símbol o conjunt de símbols en brut (una seqüència de bits, un número). La informació és la dada dotada de significat dins un context i un conveni d'interpretació. El coneixement és la informació integrada en un sistema que permet inferir i decidir. La informàtica opera directament sobre dades, però la seva finalitat és processar informació; d'aquí la importància capital del codi que mitjana entre ambdós. Una mateixa seqüència de bits, 01000001, no significa res per si sola: interpretada com a sencer sense signe val 65, com a caràcter ASCII és la lletra A, i com a fragment d'una instrucció màquina podria ser un codi d'operació. El significat no és als bits, sinó al conveni que vam decidir aplicar-los; aquesta és una de les idees més profundes i alhora més didàctiques de tot el tema.
Un codi o codificació és una correspondència entre un conjunt d'objectes (el conjunt font: lletres de l'alfabet, números, instruccions) i un conjunt de seqüències de símbols de l'alfabet del codi (en informàtica, l'alfabet binari {0,1}). Perquè una codificació sigui útil ha de ser, com a mínim, unívoca (que té una representació) i normalment biunívoca i decodificable (la seqüència rebuda permet reconstruir sense ambigüitat la seqüència d'objectes original). Quan els codis són de longitud variable — com en la compressió de Huffman o en UTF- 8— la decodificabilitat instantània exigix a més la propietat de prefix: cap codi pot ser el començament d'un altre, de manera que el decodificador reconegui el final de cada símbol sense recular.
La informació es representa de forma digital quan s'expressa mitjançant un nombre finit de valors discrets, davant de la representació analògica, que empra magnituds contínues. El senyal analògic reproduix de manera contínua la magnitud física que representa; la digital la quantifica en nivells. La superioritat pràctica del digital residix en tres propietats: la robustix davant del soroll (basta distingir entre dos nivells ben separats), la regeneració sense degradació (un senyal digital pot copiar- se indefinidament sense pèrdua, mentre que cada còpia analògica acumula soroll) i la uniformitat del tractament (text, imatge i so, una vegada digitalitzats, són seqüències de bits que el matix processador manipula amb les mateixes operacions). A aquest efecte, s'afegixen la facilitat de xifratge, compressió i detecció d'errors, totes elles pràcticament inabastables en el domini analògic. El preu que es paga és doble: la digitalització introduix un error d'aproximació inevitable (la quantificació) i exigix més amplada de banda que el senyal analògic equivalent; la història de l'enginyeria de les últimes dècades és, en bona mesura, la de com aquest preu s'ha tornat menyspreable davant dels avantatges.
El procés que convertix una magnitud analògica en digital —la digitalització — consta de tres fases. La primera és el mostrere: prendre valors del senyal a intervals regulars de temps. La freqüència de mostreig la governa el teorema de mostreig de Nyquist-Shannon, que exigix una freqüència de mostreig almenys doble de la màxima freqüència present en el senyal per a poder reconstruir-la sense pèrdua d'informació; si no es respecta, aparix el fenomen del aliàsing o solapament espectral, pel qual freqüències altes es disfressen de freqüències baixes inexistents. Per això l'àudio de qualitat de disc compacte es mostreja a 44.100 Hz, alguna cosa més del doble dels 20 kHz que arriba a l'orella humana. La segona fase és la quantificació: assignar a cada mostra un d'un nombre finit de nivells, el que introduix l'inevitable error de quantificació, la magnitud màxima del qual és mitja unitat del nivell i que es percep com a soroll; a major nombre de bits per mostra (profunditat de bits), menor error i major relació senyal/ruid, millorant aproximadament 6 dB per cada bit afegit. La tercera fase és la codificació: expressar cada nivell com una paraula binària. Aquest esquema, que aquí només s'enuncia perquè es desenvolupa en altres temes, il·lustra que la representació digital de magnituds del món real sempre comporta un compromís entre fidelitat i cost en bits.
3. Sistemes de numeració i conversions
Un sistema de numeració posicional en base b representa un número mitjançant una seqüència de dígits, on cada dígit està afectat per un pes que és una potència de la base segons la seva posició. Si els dígits són d_{n-1} \dots d_1 d_0 . d_{-1} \dots d_{-m}, el valor és la suma de cada dígit multiplicat per la base elevada a la seva posició. La base determina quants dígits diferents s'empren: deu en decimal (0- 9), dos en binari (0, 1), vuit en octal (0- 7) i setze en hexadecimal (0- 9 i A- F). Davant dels sistemes no posicionals — com la numeració romana, on el símbol X val sempre deu independentment del seu lloc —, la notació posicional, heretada del sistema indoàbig, permet expressar qualsevol nombre amb un grapat de símbols i sistematitzar l'aritmètica mitjançant algorismes senzills; aquesta és la raó última de la seva universalitat.
Mereix un incís la qüestió de per què la base dos i no una altra. Des d'un punt de vista teòric, el nombre de dígits diferents necessaris per representar un rang donat és proporcional a b/\ln b, el mínim entre els enters s'assolix en la base tres — d'aquí que existissin computadors ternaris experimentals com el soviètic Setún —, amb la base dos molt a prop. Però la balança s'inclina decisivament cap al binari per raons físiques i d'enginyeria: distingir dos estats (conduix / no conduix) és infinitament més robust i barat de fabricar que distingir tres, i tota l'àlgebra de commutació de Boole, amb les seves portes lògiques, opera sobre dos valors. La base dos guanya no per ser la més compacta, sinó per ser la més fiable d'a implementar.
El sistema binari és el natural del computador per les raons físiques ja exposades. No obstant això, les cadenes binàries resulten llargues i il·libles per a ser humà, d'aquí la utilitat de l'octal i, sobretot, de l'hexadecimal, les bases (MATHINLINE_ 16 MATHINLINE_ 17) són potències de dos. Aquesta relació permet convertir entre binari i aquestes bases agrupant bits sense necessitat d'operacions aritmètiques: un dígit octal equival a tres bits i un hexadecimal a quatre. L'hexadecimal és avui l'estàndard de facte per a bolcats de memòria, adreces, colors web (#FF8800), codis d'operació i depuració, perquè cada byte s'expressa amb exactament dos dígits i cada semibyte o nibble (4 bits) amb un.
3.1. Conversió d'una base qualsevol a decimal
S'aplica directament el teorema fonamental de la numeració: es multiplica cada dígit per la base elevada al seu pes posicional i se sumen els productes. Així, 1011 en binari equival a 1\cdot 8 + 0\cdot 4 + 1\cdot 2 + 1\cdot 1 = 11 en decimal; i 2F en hexadecimal equival a 2\cdot 16 + 15 = 47. La part fraccionària utilitza els exponents negatius: 0,101 en binari és 1\cdot\tfrac{1}{2} + 0\cdot\tfrac{1}{4} + 1\cdot\tfrac{1}{8} = 0{,}625.
Una tècnica de càlcul més ràpida i menys propensa a errors és el mètode de Horner (Avaluació anidada), que evita calcular potències: es resseguix el número d'esquerra a dreta acumulant resultado = resultado · base + dígito. Per a 1011 en binari: es partix de 0; 0\cdot2+1=1; 1\cdot2+0=2; 2\cdot2+1=5; 5\cdot2+1=11. El resultat, 11, coincidix amb l'anterior i només requerix multiplicacions i sumes encadenades, exactament el matix esquema que usa el maquinari.
3.2. Conversió decimal a una base qualsevol
La part sencera es convertix en divisions successives entre la base, prenent les restes en ordre invers al obtingut. Per exemple, per convertir 47 a binari: 47 = 23\cdot2 + 1; 23 = 11\cdot2 + 1; 11 = 5\cdot2 + 1; MATHINLINE 28 THINLINE 29; 1 = 0\cdot2 + 1. S'està llegint les restes de sota amunt s'obten 101111, que a efecte val 32+8+4+2+1 = 47. La part fraccionària es convertix en multiplicacions successives per la base, prenent les parts senceres que aparixen en l'ordre en què sorgixen. Per exemple, 0{,}625: 0{,}625\cdot2 = 1{,}25 \to 1; 0{,}25\cdot2 = 0{,}5 \to 0; 0{,}5\cdot2 = 1{,}0 \to 1; resultat 0,101. Ara bé, el procés pot no acabar i generar una representació periòdica: 0{,}1 decimal produix 0,0001100110011… en binari, amb el bloc 0011 repetint-se sense fi. Aquest fet anticipa el problema central de la coma flotant: molts decimals finesits i aparentment senzills no tenen representació binària fineta i, per tant, s'han d'emmassar arrodonits.
3.3. Conversions entre binari, octal i hexadecimal
Per la relació entre potències de dos, n'hi ha prou amb agrupar bits des del punt decimal. Per a octal s'agrupen de tres en tres; per a hexadecimal, de quatre en quatre, completant amb zeros els grups incomplets per l'extrem exterior (a l'esquerra en la part sencera, a la dreta a la fraccionària). Així 11011010 1101 0010_, que és DA en hexadecimal, i com a 011 011 010, que és 332 en octal. El procés invers expandix cada dígit al seu grup de bits: DA. Aquesta correspondència mecànica, sense càlcul aritmètic, és el que convertix l'hexadecimal en la notació còmoda de l'informàtic, i convé practicar-la fins a reconèixer d'un cop d'ull que INLINECODE_137 OLINECODE_138 és 1000 o que A és 1010.
Figura 1. Conversió per agrupació de bits: de binari a hexadecimal (grups de 4) i a octal (grups de 3), sense aritmètica.
4. Representació de nombres enters
Els enters sense signe es representen directament en binari natural: amb n bits es cobrix l'interval de 0 a 2^{n}-1. Així, un byte de 8 bits representa de 0 a 255, i una paraula de 32 bits de 0 a 4.294.967.295. El repte aparix en incorporar el signe, ja que el computador només disposa de zeros i uns: cal codificar també la negativitat reservant part de la informació disponible. Hi ha quatre convenis clàssics, dels quals només un s'ha imposat en la pràctica per a l'aritmització sencera.
4.1. Signe-magnitud
Es reserva el bit més significatiu per al signe (0 positiu, 1 negatiu) i els restants per a la magnitud en binari natural. És el conveni més intuïtiu i el que seguix, internament, la mantessa de la coma flotant. Els seus inconvenients són greus per a l'aritmètica sencera: hi ha doble representació del zero ( INLINECODE_ = INLINECODE_143 INLINECODE 144 = 10000000), el que complica les comparacions, i la suma requerix comparar signes i magnituds abans de decidir si se suma o es resta, tot completant notablement el circuit. Amb * n bits el rang és simètric, de -(2^{n-1}-1) a +(2^{n-1}-1); en 8 bits, de )127 a +127.
4.2. Complement a u
El negatiu d'un número s'obté invertint tots els vostres bits (complement bit a bit). La suma és més senzilla que en signe-magnitud, però persistix la doble representació del zero (00000000 i 11111111) i la suma exigix l'anomenada * acarreo circular* (* end-around carry ): el carreo que surt del bit més significatiu ha de tornar a sumar-se al bit menys significatiu, el que continua complicant la unitat aritmicològica i exigix un segon pas de suma en alguns casos.
4.3. Complement a dos
És el conveni universalment adoptat pels processadors actuals. El negatiu d'un nombre s'obté invertint tots els seus bits i sumant-ne un; equivalentment, el valor del nombre s'interpreta donant al bit més significatiu un pes negatiu, -2^{n-1}, i als altres el seu pes positiu habitual:
V = -d_{n-1}\,2^{\,n-1} + \sum_{i=0}^{n-2} d_i\,2^{\,i}Els seus avantatges són decisives. El zero té una única representació (00000000). La suma i la resta es realitzen amb el matix circuit sumador, tractant els operants negatius exactament igual que els positius, sense tragèixer circular; el carreig que surt per l'extreu simplement es descarta. I restar equival a afegir el connector a dos del subtraend, de manera que l'ALU només necessita saber sumar. Amb * n bits el rang és asimètric, de -2^{n-1} a +2^{n-1}-1: per exemple, amb 8 bits, de =128 a +127, amb un valor negatiu més que positius perquè el zero, únic, «ocupa» un lloc del costat positiu.
Convé veure l'aritmètica en acció. Per calcular 25 - 18 amb 8 bits: T $25 = $ i T $-18 = $ (complement a dos de 18). La suma és 1 00000111; el novè bit (carregament de eixida) es descarta i queda 00000111 = 7, resultat correcte. L'operació de restar s'ha resolt amb una simple suma.
S’han de dominar dues conseqüències pràctiques. La primera és el desbordament ( overflow): Es produix quan en sumar dos operaris del matix signe el resultat canvia de signe, situació impossible que el processador detecta i assenyala amb un flag de desbordament. Per exemple, 100 + 50 en 8 bits amb signe: INLINECODE_15, que interpretat en complement a dos és 670000106, absurd, perquè el resultat real, 150, excedix el màxim +127; hi ha overflow. La regla del maquinari és elegant: hi ha desbordament si el carri que entra al bit de signe i el que surt d'ell diferixen. La segona conseqüència és la extensió de signe: per ampliar un nombre a més bits mantenint el seu valor, cal replicar el bit de signe en les posicions afegides, no omplir amb zeros. Així, a 8 bits (11101110_) s'estén a 16 bits com a 11111111 11101110, no com a 00000000 11101110. Aquesta operació és essencial quan el processador opera amb dades d'amplades diferents.
4.4. Representació en excés (segada)
Consisteix a sumar a cada número una constant fixa (el excés o sego) de manera que el menor valor representable es codifiqui com a zero i tots els codis siguin no negatius. Amb excés 2^{n-1} (o 2^{n-1}-1), el rang es trasllada al terreny dels enters sense signe. Té la virtut que l'ordre dels números coincidix amb l'ordre dels seus codis binaris sense signe, el que facilita enormement les comparacions. No s'usa per als enters de propòsit general, però és essencial en la coma flotant, on l'exponent s'emmagatzema precisament en excés per a que les comparacions de magnitud entre reals puguin fer-se, en bona mesura, com si els patrons de bits fossin sencers sense signe. La taula següent resumix l'interval dels quatre convenis amb n bits, una dada que convé tenir automatitzat:
| Conveni | Rang amb n bits | Rang a 8 bits | Zero |
|---|---|---|---|
| Binari natural (sense signe) | _M 0 a 2^{n}-1 | 0 a 255 | Únic |
| Signe-magnitud | -(2^{n-1}-1) a +(2^{n-1}-1) | 08123127 a +127 | Doble |
| Complement a u | _M -(2^{n-1}-1) a +(2^{n-1}-1) | 08123127 a +127 | Doble |
| Complement a dos | -2^{n-1} a +2^{n-1}-1 | IFM128 a +127 | Únic |
| Excés 2^{n-1} | -2^{n-1} a +2^{n-1}-1 | IFM128 a +127 | Únic |
Figura 2. L'enter −18 en 8 bits segons els quatre convenis, amb +18 en binari natural com a referència; el bit de signe (MSB) apareix ressaltat.
Figura 3. Figura X. Codificació pas a pas del número decimal -6,25 en IEEE 754 de precisió simple (32 bits).
5. Representació de nombres reals: coma flotant IEEE 754
Per a representar números amb part fraccionària existix la coma fixa, en la que el punt decimal ocupa una posició per omissió dins de la paraula. És senzilla, ràpida i s'utilitza en aplicacions de control, processadors de senyal de baix cost i sistemes financers amb escala fixa, però el seu rang dinàmic és molt limitat: amb un nombre fix de bits, o bé representa números grans amb poca resolució, o petits amb poc rang, sense poder ambdues coses alhora. La solució general és la coma flotant, inspirada en la notació científica: un número s'expressa com un signe, una mantisa (els dígits significatius, també anomenada significant) i un exponent que indica on va la coma. Per permetre que la coma "flote" s'obtengui un rang dinàmic enorme amb un nombre fix de bits, a costa que la resolució absoluta no sigui uniforme: els números representables s'apinyen a prop del zero i se separen cada vegada més en créixer la magnitud.
5.1. L'estàndard IEE 754
Abans de la seva normalització, cada fabricant emprava el seu propi format de coma flotant, amb diferent nombre de bits, diferent biaix i diferent arrodoniment, el que feia irreprovible els càlculs entre màquines i convertintia la portabilitat numèrica en un malson. L'estàndard IEE 754, publicat el 1985 gràcies en bona part al treball d'en William Kahan (la qual cosa és la tasca del premi Turing), revisat el 2008 i de nou a 2019, va unificar la representació, les operacions, els modes d'aclariment, el tractament de les excepcions i l'aritmització exacta fins a l'últim bit, i és el que implementa avui totes les unitats de coma flotant. Defineix múltiples formats binaris; els més usats són el de premió simple (binary32, 32 bits) i el de premió doble (binary64, 64 bits), als quals es van afegir el de media precisió (binary16, 16 bits, molt usat en aprenentatge automàtic i gràfics) i el de quàdruple precisió (binary128, 128 bits). La revisió del 2008 va incorporar a més formats decimals per a l'àmbit financer.
Cada número es descompon en tres camps: un bit de signo, un camp de exponent emmagatzemat en excés, i un camp de mantisa o fracció. El valor d'un número normalitzat és:
V = (-1)^{s}\cdot(1{,}M)_2\cdot 2^{\,E-\text{sesgo}}on s és el signe, M la fracció emmagatzemada i E l'insistent desgegat. La clau del format és el bit implícit: com tot número binari normalitzat té un 1 a l'esquerra de la coma, aquest 1 no s'emmagatzema, el que regala un bit de precisió gratis (la precisió efectiva és de 24 i 53 bits en simple i doble, encara que només es guardin 23 i 52). La taula següent compara els quatre formats binaris, una caixa que convé retenir:
| Format | Bits totals | Signe | Exposen | Màntessa | Seix | Dígits decimals | Rang aproximat |
|---|---|---|---|---|---|---|---|
Mitjana (binary16) |
16 | 1 | 5 | 10 | 15 | ~3,3 | \pm 6{,}5\cdot10^{4} |
_mple (binary32) |
32 | 1 | 8 | 23 | 127 | ~77,2 | \pm 3{,}4\cdot10^{38} |
Doble (binary64) |
64 | 1 | 11 | 52 | 1023 | ~15,9 | \pm 1{,}8\cdot10^{308} |
Cuàdruple (binary128) |
128 | 1 | 15 | 112 | 16383 | ~034,0 | \pm 1{,}2\cdot10^{4932} |
Figura 4. Format IEEE 754 de precisió simple (32 bits): signe, exponent en excés (biaix 127) i mantissa amb bit implícit.
És instructiu codificar un valor concret pas a pas. Prenguem -6{,}25 en precisió simple. Primer es convertix en binari: $6{,}25 = $. Es normalitza desplaçant la coma fins a deixar un sol 1 a l'esquerra: INLINECODE _66. El signe és negatiu, després s = 1. L'expossionat real és 2, i s'ha dedicat a $2 + 127 = 129 = $ 10000001. La mantisa són els bits després de la coma, 1001, emplenats amb zeros fins a 23 bits: 10010000000000000000000. El patró complet és 1 10000001 10010000000000000000000, que en hexadecimal és C0C80000. Aquest exercici, molt del gust dels tribunals, s’explica en la figura corresponent.
5.2. Valors especials i casos límit
El geni de l'estàndard està en reservar els valors extrems de l'exponent per codificar situacions especials, de manera que el matix maquinari les tracti de forma uniforme:
| Exposen | Màntessa | Significat |
|---|---|---|
| Tot zeros | Zero | Zero (amb signe: +0 i ± 0) |
| Tot zeros | No nul·la | Nombres desnormalitzats (subnormals) |
| Tots uns | Zero | Infinit (+ \ ) |
| Tots uns | No nul·la | NAN (* núm a Number ) |
| Resta | Qualsevol | Nombres normalitzats |
Els números * desnormalitzats* (sense bit implícit, amb l' 1 substituït per un 0 a l'esquerra de la coma, i amb exponent mínim fix) permeten representar magnituds molt properes a zero que d'altra manera caurien de cop al zero, aconseguint l'anomenat * desbordament gradual* (gradual underflow), que preserva la propietat de que x - y = 0 si i només si x = y. El * infinit* sorgix del desbordament (* overflow ) o de dividir un nombre finit diferent de zero entre zero, i es propaga de forma coherent per les operacions (1/\infty = 0, \infty + 1 = \infty). El Nan * representa resultats indefinits com a 0/0, \infty-\infty o l'arrel d'un negatiu; té la propietat de "contaminar" qualsevol operació en la que intervingui (tot resultat amb un NAN d'entrada és NaN), cosa que facilita la detecció d'errors, i la peculiaritat de no ser igual a si matix (\text{NaN} \neq \text{NaN}), truc que usen alguns llenguatges per detectar-lo. Hi ha NAN silenciosos (* quiet ), que es propagaven en silenci, i senyalitzadors ( signaturaling ), que disparen una excepció.
5.3. Precisió, arrodoniment i conseqüències pràctiques
La conseqüència més important per al docent i el programador és que l'aritmètica de coma flotant no és exacta. Molts decimals senzills, com 0,1, no tenen representació binària fineta (el seu desenvolupament és periòdic, com es va veure en la secció 3), per la qual cosa s'emmacen arrodonits al valor representable més proper; d'aquí que comparacions del tipus 0.1 + 0.2 == 0.3 fallen en la majoria de llenguatges, ja que el primer membre s'avalua com a 0.30000000000000004. L'estàndard definix diversos modes d'arrodoniment — al més proper amb desempat al parell (el predeterminat), al més proper amb desempat allunyant-se del zero, cap a THINLINE 75 TATHINLINE 76 i cap a zero (truncament ) —, essent el primer el que minimitza el biaix estadístic acumulat en cadenes llargues d'operacions.
Un fenomen relacionat amb el creixement del ULP merix atenció: la absorció. En sumar un nombre molt gran i un altre molt petit, si la diferència d'exponents supera l'amplada de la mantisa, el sumant petit es perd per complet després de l'arrodoniment; així, en precisió simple, 10^{8} + 1 pot donar exactament 10^{8}, com si l' 1 no existís. Això trenca l'associabilitat de la suma — (a+b)+c no sempre coincidix amb a+(b+c) —, fet que obliga els compiladors a ser conservadors al reordenar operacions i als programadors a sumar les magnituds en ordre creixent o a emprar algorismes de suma compensada com el de Kahan.
Dues magnituds quantifiquen la precisió. El èpsilon de la màquina és la diferència entre 1 i el següent número representable: val 2^{-23}\approx1{,}19\cdot10^{-7} en simple i 2^{-52}\approx2{,}22\cdot10^{-16} en doble, i marca la resolució relativa. La unitat en l'última posició (ULP) és la distància entre dos representants consecutius al voltant d'un valor donat, que crix amb la magnitud. Així, la precisió simple oferix uns 7 dígits decimals significatius i la doble uns 15-16, amb independència de si el nombre és gran o petit. Les bones pràctiques exigixen, per tant, comparar reals mitjançant una tolerància (èpsilon) en comptes d'igualtat estricta, preferir la doble precisió en càlculs sensibles, sumar primer els termes de menor magnitud i ser conscient de la cancel·lació catastròfica: en restar dos números molt propers, els dígits significatius comuns s'anul·len i afloren, amplificats, els errors d'arrodoniment previs, arruïnant l'exactitud del resultat. Fenòmens històrics com la fallada del míssil Patriot el 1991 —cui rellotge acumulava error en convertir dècimes de segon a coma flotant — o l'explosió del coet Ariane 5 el 1996 —per una conversió d'un real de 64 bits a un sencer de 16 que desbordà — il·lustran que aquests matisos no són acadèmics, sinó qüestió de seguretat i de cost multimilionari.
Com mostra de la vigència tecnològica del format, l’explosió de l’aprenentatge automàtic ha ressuscitat l’interès per les precisions reduïdes. A més del binary16 estàndard, la indústria ha adoptat formats alternatius de 16 bits com el bfloat16 (amb els 8 bits d'insistent de la precisió simple però només 7 de mantisa, sacrificant precisió per conservar l'enorme rang dinàmic que exigix l'entrenament de xarxes neuronals) i el TF32 de les GPU, i fins i tot formats de 8 bits (_FP8, en variants E4M3 i E5M2) normalitzats en 2023 per a la inferència. Tots ells compartixen la mateixa filosofia de signe, exponent desgegat i mantessa que IEEE 754 va establir el 1985, prova que un bon disseny de representació transcendix les modes: canvia el repartiment de bits, no els principis.
6. Representació decimal codificada en binari (BCD)
El codi BCD (* Binary Cod Decimal ) representa cada dígit decimal (0- 9) mitjançant el seu grup de quatre bits en binari natural, en comptes de convertir el número complet a binari. Així, 47 en BCD no és 101111, sinó 0100 0111. És un codi no ponderat respecte del número complet* però ponderat dígit a dígit (variant 8421, la més comuna, anomenada així pels pesos dels seus quatre bits). Hi ha variants a la disposició: el * BCD empaquetat* allotja dos dígits per byte (aprofitant els vuit bits), mentre que el * desempaquetat* usa un byte per dígit, amb el semibyte alt a zeros o a un valor de zona, el que facilita la seva conversió a caràcters. Altres codificacions decimals històriques són el excés- 3 (cada dígit es codifica submitjant-li 3, el que l'autocomplementa i simplifica la resta) i el codi Aiken o 2421, ambdós avui anecdòtics però freqüents en preguntes d'examen.
El seu principal avantatge és que evita els errors d'aclariment decimal de la coma flotant binària —el dígit decimal es conserva exacte — i simplifica la conversió a representacions llegibles, de manera que s'utilitza històricament en calculadores, displays de set segments, rellotges digitals i, molt assenyaladament, en sistemes financers i comercials on l'exactitud decimal és legalment exigible. Llenguatges i bases de dades oferixen tipus decimal de precisió arbitrària basats en aquesta filosofia (el tipus DECIMAL / NUMERIC de SQL, BigDecimal en Java, decimal.Decimal en Python o l'estàndard IEEE 754 decimal), i l'euro, amb els seus dos decimals exactes, és l'exemple quotidià de per què importa. El seu inconvenient és el rebuig d'espai (de les 16 combinacions de 4 bits només s'usen 10, les sis restants 1010 - 1111 són il·legals) i la més alta complexitat de l'aritmètica, que requerix una actualització decimal després de cada operació: en sumar dos dígits BCD, si el resultat excedix 9 o genera l'acarreo se us suma 6 per reajustar- lo. Per exemple, 8 + 5 en BCD: 1000 + 0101 = 1101 (13, resultat il·legal); en afegir 6 (0110) queda 1 0011, és a dir, un tragès i el dígit 3, és a dir 13 en BCD correcte. Aquest ajust, que el binari natural no necessita, és el preu de conservar l'exactitud decimal.
7. Representació de la informació alfanumèrica: codis de caràcters
Representar text consistix a assignar a cada caràcter (letra, dígit, signe de puntuació, símbol) un número sencer, el seu punt de codi, i codificar aquest número en bits. La història d'aquests codis és la història d'un problema creixent: com acomodar tots els sistemes d'escriptura del món de forma única, eficient i interoperable.
7.1. ASCII
El codi ASCII (* American Standard Code for Information Interchange ), de 1963, empra 7 bits i definix 128 caràcters: els de control (0-31, més el 127, com el salt de línia LF = 10, el retorn de carro CR = 13, el tabulador HT = 9 o la fi de transmissió), els impresosbles (l'espai = 32, els dígits, les majúscules, les minúscules i els signes de puntuació) i el d'esborrat (DEL = 127). La seva gran limitació és no contemplar caràcters accentuats, l'enye ni altres alfabets, el que ho fa insuficient fora de l'anglès. Convé recordar el seu disseny enginyós, que la seva estructura fa evident: els dígits 0 - 9. 95 ocupen les posicions 48-57 (0011 0000 de_, de manera que el valor numèric s'obté restant 48 o, equivalentment, quedà amb el semiby baix; i la diferència entre una majúscula i la seva minúscula és exactament el bit de pes 32 (A = , a = 97 = 110 0001), cosa que reduix el canvi de caixa a posar o treure un únic bit. Aquest ordre també explica per què l'ordenació alfabètica informàtica situa totes les majúscules abans que les minúscules.
7.2. ISO / IEC 8859
Per cobrir les llengües europees es va aprofitar el vuitè bit, ampliant 256 caràcters. La família ISO/IEC 8859 definix diverses pàgines o parts; la més rellevant per a l'espanyol és ISO-8859-1 (Latin-1), que en la seva meitat alta (128-255) inclou les vocals accentuades, l'enye, la dièresi i símbols d'ús europeu. Una variant posterior, ISO-8859-15 (Latin-9), va substituir alguns símbols poc usats per afegir el símbol de l'euro ( €), absent a Latin-1 per ser anterior a la moneda. Al món Windows va circumsar a més la pàgina de codis Windows-1252, molt semblant però no idèntica a Latin-1, font d'innombrables confusions. El problema estructural de totes aquestes codificacions és doble: cada pàgina només cobrix un grup de llengües (no es pot escriure grec i polonès en el matix text), i un matix byte significa caràcters diferents segons la pàgina activa, el que provoca el conegut fenomen dels textos il·legibles —el mojibake, amb la seva cèlebre INLINECODE _01 en comptes de INLINECODE 02 — en obrir un text amb una codificació diferent d'aquella amb què es va guardar.
7.3. Unicode i les seves codificacions UTF
Unicode va resoldre d'arrel el problema assignant un punt de codi únic a cada caràcter de pràcticament tots els sistemes d'escriptura, vius i històrics, a més de símbols tècnics, matemàtics i emojis. El seu espai abasta 1.114.112 posicions (de U+0000 a A M U+10FFFF), organitzades en 17 planxs de 65.536 posicions cadascun; el més usat és el Plan Multilingüe Bàsic (BMP, U+0000 a U+FFFF), que conté gairebé tota l'escriptura viva, mentre que plans superiors albergen ideogrames rars, escriptures històriques i emoxius. La versió 16.0 (2024) supera ja els 150.000 caràcters assignats. És fonamental entendre que Unicode és independent de la manera d'em emmagatzemar-lo: definix què número correspon a cada caràcter, però la codificació d'aquest nombre en
UTF-32 usa 4 octets fixos per caràcter: és trivial d'indexar (el caràcter * n* -èsim està en la posició 4n) però molt ineficient en espai, per tant es reserva a usos interns. UTF-16 usa 2 o 4 o 4 os: els caràcters del BMP en dos octets i la resta mitjançant * les seves subrogats* (* suroropate pairs ), dues unitats de 16 bits preses d'un rang reservat (U+D800 a U+DFFF); és la representació interna de Java, .NET i JavaScript per raons històriques. UTF-8 , avui dominant a la web — on supera el 98 % de les pàgines — i en els sistemes POSIX, és una codificació de longitud variable * d'1 a 4 o 4 o 4 o 4 o 4 o 4 o 4, amb tres virtuts que expliquen el seu èxit. És* retrocompatible amb ASCII * (els 128 caràcters ASCII es codifican igual, en un sol byte amb el bit alt a 0), el que fa que tot text ASCII sigui ja UTF- 8 vàlid. És* autosincronitzable : el primer byte d'un caràcter multibyte comença per INLINECODE 03, INLINECODE 04 INLINECODE 05 segons la seva longitud, i els I és independent de l'ordre de El vostre algorisme de codificació és directe: el punt de codi es repartix, començant pels bits menys significatius, entre els buits de càrrega útil que dixen els prefixos fixos. Per exemple, l'euro INLINECODE 07 = U+20AC = INLINENECODE (13 bits significatius) requerix 3 Un caràcter fora del BMP com l'emoji = U+1F600 necessita 4 Per totes aquestes raons, UTF- 8 és la codificació recomanada per defecte en el desenvolupament actual i la que el professorat ha d'ensenyar com a estàndard.
Dos matisos de nivell avançat distingixen l'ospositor solvent. El primer és la imnormització: un matix caràcter visible pot tenir diverses representacions, per exemple INLINENECODE 12 com un únic punt de codi (U+00E9, forma precompada) o com a INLINECODE 13 seguida d'un accent combinant (_UNICODE _32 UNICODE 33, forma descomposta); Unicode definix les formes de normalització NFC (composta) i NFD (descomposta) per comparar textos de forma fiable. El segon és la distinció entre punt de codi, unitat de codi i grafema percebut: emoïs moderns com a bufamilia) o banderes es construixen mitjançant seqüències de diversos punts de codi units pel unificador d'amplada zero (ZWJ, U+200D), de manera que el que l'usuari percep com un sol caràcter pot ocupar desenes de Comptar "caracteres" a Unicode és, per tant, una operació molt menys trivial del que aparent.
Figura 5. Codificació UTF-8 de longitud variable (1 a 4 bytes): bits de prefix fixos, bits de càrrega útil i exemple é = U+00E9 → C3 A9.
8. Codis detectors i correctors d'error
Tant la transmissió com l'emmagatzament d'informació estan subjectes a errors: soroll al canal, interferències electromagnètiques, defectes del suport, radiació còsmica que voltegi un bit en la memòria. el codi de control d'errors afegixenredundància controlada a les dades per detectar i fins i tot corregir aquestes alteracions. La idea central és la distància de Hamming entre dues paraules codi: el nombre de posicions de bit en què diferixen. Si es dispersen les paraules vàlides de manera que la distància mínima entre qualssevol dos sigui d , el codi pot detectar fins a d-1 errors (per què cal almenys d canvis per convertir una paraula vàlida en una altra) i corregir fins a [(d-1)/2] error (signant la paraula rebuda a la vàlida més propera). Geomètricament, cada paraula vàlida és el centre d'una esfera de ràdio corrector, i el codi funciona mentre aquestes esferes no es desplacen. Es distingixen els codics de bloc, que processen paraules de longitud fixa, dels codics retornables, que operen sobre un flux continu amb memòria.
8.1. Control de paritat
És el mecanisme més simple: s'afegix un bit de paritat que fa que el nombre total d'uns sigui parell (paritat parell) o senar (paritat imparell). Amb distància mínima 2, detecta qualsevol nombre senar d'errors, però no els corregix ni en detecta un nombre parell (dos bits volteats passen inadvertits). La paritat creuada o bidimensional (bits de paritat longitudinals i transversals sobre una matriu de bits) eleva la distància mínima a 4 i permet localitzar i corregir un error aïllat, en assenyalar simultàniament la fila i la columna afectades per la seva intersecció; és el germen conceptual de codis més potents.
8.2. Codi de Hamming
És un codi corrector d'errors, proposat per en Richard Hamming el 1950, que col·loca bits de paritat en les posicions que són potència de dos (1, 2, 4, 8, ...), de manera que cada bit de control vigila un subconjunt ben escollit de posicions: el bit en la posició 2^k controla totes les posicions l'índex de les quals té el bit * k* - èsim a u. En rebre la paraula es recalculen les paritats; el conjunt de discrepàncies, llegit com un nombre binari anomenat síndrome, indica directament la posició del bit erroni (0 si no hi ha error), que n'hi ha prou amb invertir per corregir- lo. Aquesta autolocalització sense cerca és el que fa elegant al codi. El nombre de bits de paritat * r* necessaris per a m bits de dades complix 2^{r} \ge m + r + 1; així, 4 bits de paritat protegixen fins a 11 de dades (codi Hamming( 15,11)). El codi Hamming clàssic té una distància mínima 3 i corregix un error. Afegint un bit de paritat global s'obté el SECDED (* Single Error Correction, Double Error Detection ), de distància 4, que corregix un error i detecta dos sense confondre' ls: és la base de la memòria ECC * emprada en servidors i sistemes crítics per corregir els errors espontànis (* soft errors ») que la radiació o el soroll provoquen en la DRAM.
Figura 6. Codi de Hamming: els bits de paritat ocupen les posicions potència de dos i cadascun controla un subconjunt ben triat de posicions.
8.3. Comprovació de redundància cíclica (CRC)
El CRC és la tècnica de detecció dominant en xarxes i emmagatzematge per la seva gran eficàcia davant dels errors en ràfega (* burst errors ), típics dels canals reals. Es basa en l'aritmètica de polinomis sobre el cos binari GF(2), on la suma i la resta són l'operació XOR i no hi ha cap tragèreo. El missatge s'interpreta com un polinomi, s'annexen tants zeros com el grau del polinomi generador , i es dividix per aquest mitjançant divisions XOR successives; la resta d'aquesta divisió — la seqüència de comprovació de trama o FCS — substituix a aquests zeros i viatja amb el missatge. El receptor dividix la trama completa rebuda pel matix generador: si la resta és nul, s'accepta; si no, hi ha error. Variants com CRC-32 (amb generador de grau 32, usat en entrada, ZIP, PNG i gzip) garantixen la detecció de tots els errors simples i dobles, de tot nombre senar d'errors, de totes les ràfegues de longitud menor o igual a 32 bits i de la immensa majoria de les ràfegues més llargues, amb una probabilitat d'error no detectat inferior a 2^{-32}. No corregix, només detecta, però el seu cost de càlcul és baixíssim i s'ocupa amb enorme facilitat en maquinari mitjançant un registre de desplaçament realintat (LFSR) amb portes XOR, processant un bit per cicle, o amb taules precalculades per programari.
Figura 7. Figura X. Càlcul d'un CRC mitjançant divisió binària XOR: el residu és la seqüència de comprovació (FCS).
Per a canals molt sorollosos, on la mera detecció obligaria a retransmetre massa, s'utilitzen codis correctors més potents que treballen "fàcia endavant" (* Freward Error Correction , FEC). Els codis Reed-Solomon*, correctors de ràfegues per excel·lència, protegixen els CD, DVD, discos Blu-ray, codis QR i les comunicacions de l'espai profund, ja que corregixen no bits solts sinó símbols sencers danyats. Els codis moderns LDPC (* Low-Density Parity-Check*, que es reintroduixen dècades després de la seva invenció per Gallager) i els turbo-codigos s'aproxiquen a menys d'una fracció de decibel·li del límit teòric de Shannon i són la norma a Wi-Fi (802.11n en endavant), 4G/5G, DVB i l'emmagatzament d'alta densitat. Els codigs polars, proposats per Ardekan el 2009 i adoptats per als canals de control de 5G, són la primera família amb demostració matemàtica que assolixen la capacitat del canal. Aquest ascens cap al límit de Shannon és un dels grans èxits de l'enginyeria de les últimes dècades.
9. Magnituds d'informació i unitats de mesura
La unitat elemental d'informació és el bit (* barroy digit*), que representa l'elecció entre dues alternatives equiprobables. Agrupacions intermèdies són el nibble o semibyte (4 bits, un dígit hexadecimal) i, sobretot, el vet o * octet*, agrupament estàndard de 8 bits que pot representar 256 valors diferents i constituix la unitat direccional bàsica en la pràctica totalitat de les arquitecturaures. La * paraula* (* word ) és l'amplada natural de dades del processador (32 o 64 bits en els actuals). Sobre el byte es construixen els múltiples per a magnituds majors.
Aquí sorgix una confusió freqüent i normativament rellevant. Tradicionalment, els múltiples es calculaven en potències de 1024 (2^{10}), de manera que un «kilobyte» eren 1024, un «megabyte» 1024 quilobytes, etcètera. No obstant això, els prefixos del Sistema Internacional (quil, mega, giga) signifiquen estrictament potències de 1000. Per resoldre l'ambigüitat, la norma IEC 60027-2, avui consolidada a la IEC 80000-13, va introduir prefixos binaris específics: kivi (Ki = 2^{10}), embi (Mi = 2^{20}), gibi (Gi = 2^{30}), tebi (Ti = 2^{40}), i així successivament. Segons aquesta norma, el correcte és dir 1 KiB = 1024, reservant 1 kB per 1000,
| Prefix binari | Símbol | Valor | Prefix SI | Símbol | Valor |
|---|---|---|---|---|---|
| kibi | Ki | 2^{10} = 1024 | quilo | k | 10^{3} = 1000 |
| mebi | La meva | 2^{20} | mega | M | 10^{6} |
| gibi | Gi | 2^{30} | giga | G | 10^{9} |
| tebi | Ti | 2^{40} | tera | T | 10^{12} |
| pobi | Pi | _M 2^{50} | píta | P | 10^{15} |
La divergència entre ambdues escales crix amb la mida: és del 2,4 % en el nivell quilo, però arriba al 10 % en el nivell tera i seguix augmentant. Això explica una discrepància quotidiana: els fabricants de discos mesuren la capacitat en potències de 1000 (gigabytes SI), mentre molts sistemes operatius la mostren en potències de 1024 (gibibytes) però rotuant-la erròniament com a "GB", per la qual cosa un disc de "1 TB" aparix com uns 931 "GB" — en realitat 931 GiB —, amb la consegüent sensació de capacitat perduda. Convé també distingir amb rigor les unitats de capacitat d'emmagatzematge (en bytes, símbol B majúscula) de les de velocitat de transmissió (en bits per segon, bps o b/s minúscula, i els seus múltiples kbps, Mbps, Gbps), error freqüentíssim entre l'alumnat: una connexió de "100 Mbps" descàrrega com a màxim uns 12,5 MB/s, vuit vegades menys, i encara menys descomptada la sobrecàrrega dels protocols.
10. Fonaments de teoria de la informació
El 1948, Claude Shannon va publicar A Mathematical Theory of Communication, que va fundar per si matix la teoria de la informació i va donar un significat matemàtic precís a la quantitat d'informació. La seva aportació decisiva va ser mesurar la informació en funció de la incertidum o sorpresa: un succés molt probable aporta poca informació quan passa ("matà sortirà el sol"); un improbable n'aporta molta ("manya nevarà al desert"). Formalment, la informació pròpia d'un succés de probabilitat p és
I = \log_2\frac{1}{p} = -\log_2 p \quad \text{(bits)},de manera que un succés de probabilitat 1/2 aporta exactament 1 bit, i un de segur (p=1) aporta 0 bits. El logaritme garantix que la informació de esdeveniments independents se suma, propietat essencial que distingix a aquesta mesura.
10.1. Entropia
La entropia d'una font és la quantitat mitjana d'informació per símbol, és a dir, l'esperança matemàtica de la informació dels seus símbols:
H(X) = -\sum_{i=1}^{n} p_i \log_2 p_i \quad \text{(bits/símbolo)}.És màxima, i igual a \log_2 n, quan tots els símbols són equipprovables (màxima incertesa), i nul·la quan un és segur. Un exemple aclarix el seu càlcul: una font amb quatre símbols de probabilitats \tfrac12, \tfrac14, \tfrac18, \tfrac18 té entropia H = \tfrac12\cdot1 + \tfrac14\cdot2 + \tfrac18\cdot3 + \tfrac18\cdot3 = 1{,}75 bits/símbol, davant dels 2 bits que exigiria una codificació de longitud fixa; aquests 0,25 bits de diferència són la redundància aprofitable. L'entropia marca el límit teòric inferior del número mig de bits necessari per codificar sense pèrdua els símbols de la font: cap codi sense pèrdua pot comprimir, en mitjana, per sota de l'entropia. Aquest és el primer teorema de Shannon (codificació de font) i el fonament de tota la compressió sense pèrdua. La desigualtat de Kraft complementa el resultat, fixant quins conjunts de longituds de codi són realitzables amb la propietat de prefix.
10.2. Redundància
La redundància és la diferència entre la longitud mitjana real d'una codificació i l'entropia de la font; és a dir, els bits de "sobra" respecte al mínim teòric. La redundància no sempre és indesitjable: la compressió busca eliminar-la per estalviar espai, però els codis correctors d'errors la afegixen deliberadament i controladament per guanyar fiabilitat. Comprimir i protegir davant d'errors són, en cert sentit, operacions oposades sobre la redundància, i tot sistema de comunicacions busca el seu punt d'equilibri: primer comprimix la font per eliminar la redundància natural (en general desestructurada i inútil) i després afegix una redundància estructurada i eficient per protegir-se del canal. Les llengües naturals, dit sigui de pas, són altament redundants —l'espanyol ronda 1 a 1,5 bits per lletra davant dels 4,7 d'una font uniforme de 26 lletres —, el que explica que puguem llegir un text amb errades o abreujat.
10.3. Capacitat d'un canal
El segon teorema de Shannon (codificació de canal) establix que tot canal amb soroll té una capacitat màxima, expressada en bits per segon, per sota de la qual és possible transmetre amb una probabilitat d'error tan petita com es vulgui, emprant codis correctors suficientment elaborats; per sobre d'ella, la transmissió fiable és impossible per més redundància que s'afegeixi. Per al canal gaussià limitat en banda, la fórmula de Shannon-Hartley quantifica aquesta capacitat:
C = B \cdot \log_2\!\left(1 + \dfrac{S}{N}\right) \quad \text{(bits/s)},a on B és l'amplada de banda en hertzis i S/N la relació senyal/soroll en vegades (no en decibels). Per exemple, un canal telefònic de 3.100 Hz amb una relació senyal/soroll de 30 dB (una raó de 1000) té una capacitat de C = 3100\cdot\log_2(1001) \approx 30.900 bits/s, xifra que explica per què els mòdems telefònics es van estancar prop d'aquesta velocitat. Aquest resultat, profundament contraintuïtiu al seu dia, garantix que el soroll no impedix la comunicació perfecta, sinó que només limita la seva velocitat, i orienta el disseny de tots els sistemes de comunicació moderns —de la fibra òptica al 5G — cap a aquest límit infranquejable.
11. Comunicació i transmissió de dades
La comunicació és el procés de transferir informació d'un emissor a un receptor a través d'un canal mitjançant un missatge codificat. El model de Shannon-Weaver identifica els elements essencials: una font d'informació, un codificador/transmissor que la convertix en senyal apta per al suport, un canal (afectat per una fornada de soroll), un receptor/decodificador que reconstruix el missatge i un destí. Aquest esquema atemporal és el que subjau a tota la matèria de xarxes i el que dóna sentit als codis de font i de canal estudiats en les seccions anteriors.
La transmissió de dades és la materialització física d'aquest enviament. Sense entrar en el detall propi d'altres temes, convé fixar la terminologia bàsica en tres eixos. Segons el sentit del flux, la transmissió pot ser símplex (un sol sentit, com la radiodifusió), semidúplex (ambdós sentits, però no simultanis, com un walkie-talkie) o dúplex o full- dúplex (ambdós sentits alhora, com la telefonia). Segons la disposició dels bits, sèrie (els bits en viatgen un darrere l'altre per una única línia, el que és habitual en distàncies llargues i en els bus moderns com USB, PCIe o SATA, que van abandonar el paral·lel per problemes de sincronisme a alta freqüència) o parell- lo (varis bits simultanis per línies diferents, avui relegat a l'interior dels xips). I segons el referent temporal, síncrona (emissor i receptor compartixen una referència de rellotge i les dades fluixen en blocs continus) o asíncrona (cada caràcter s'emmarca amb bits d'inici i parada, sense rellotge comú, com en el clàssic port sèrie RS-232).
El senyal es pot transmetre en banda base (els polsos digitals directament sobre el medi, mitjançant codificacions de línia com NRZ o Manchester) o mitjançant modulació d'una portadora, alterant la seva amplitud (ASK), la seva freqüència (FSK) o la seva fase (PSK) — o combinacions d'amplitud i fase, com en la QAM, que empaqueta molts bits per símbol — per representar els bits, el que permet adaptar el senyal al medi, salvar llargues distàncies i multiplexar diverses comunicacions. Precisament la multitiplexació — per divisió en freqüència (FDM ) ), en temps ( TDM ) o, en fibra òptica, en longitud d'ona (WDM ) — és la que permet compartir un matix mitjà físic entre múltiples fluxos. És capital no confondre la velocitat de transmissió, en bits per segon, amb la velocitat de modulació en baudis (símbols per segon): cada símbol pot transportar diversos bits segons l'esquema emprat, de manera que una modulació 256- QA transmet 8 bits per baudi. El teorema de Nyquist establix el nombre màxim de símbols per segon que un canal d'amplada de banda B admet sense interferència entre símbols (2B), i la fórmula C = 2B\log_2 M dóna la taxa binària en un canal sense soroll amb M nivells de senyal; quan hi ha soroll, és el límit de Shannon de l'apartat anterior el que mana. Tot aquest aparell pràctic es regix, en última instància, per aquesta capacitat de canal, el que unix de nou teoria i tècnica.
12. Compressió de la informació
La compressió reduix el nombre de bits necessaris per a representar una informació, eliminant redundància. La seva eficàcia es mesura per la taxa o raó de compressió (l'enorme original entre comprimit) o pel percentatge d'estalvis. Es distingixen dues grans famílies segons la fidelitat del resultat.
12.1. Compressió sense pèrdua
La compressió sense pèrdua (elssless) permet reconstruir exactament la dada original, bit a bit. És obligatòria per text, codi executable, bases de dades i, en general, allà on qualsevol alteració seria inacceptable. Les seves tècniques exploten la redundància estadística i estructural. La codificació d'entropia assigna codis més curts als símbols més freqüents: l'algorisme de Huffman (1952) construix, mitjançant un arbre binari aixecat de baix a dalt combinant repetidament els dos símbols menys probables, un codi de prefix de longitud variable optim aptim* símbol a símbol; la codificació aritmètica i la seva variant moderna, els sistemes numèrics asimètriques (ANS), superen aquesta limitació al no exigir un nombre sencer de bits per símbol, apropant- se encara més al límit d'entropia i sustentant compressors actuals com Zstandard. La codificació per longitud de sèries (RLE) substituix repeticions consecutives per un parell (valor, nombre de repeticions), útil en imatges amb grans zones uniformes. Els mètodes de diccionari de la família Lempel-Ziv (LZ77, LZ78 i el seu derivat LZW) substituixen seqüències repetides per referències a aparicions anteriors i són el cor de formats com ZIP, gzip, PNG i GIF; l'algorisme DEFLATE combina LZ77 amb Huffman. L'eficiència de compressió sense pèrdua està acotada precisament per l'entropia de la font: dades ja atrades o ja comprimits no admeten reducció ulterior, fet que de vegades s'enuncia com el "teorema del recompte" i que desmentix l'existència de compressors universals que redueixin qualsevol fitxer.
Figura 8. Figura X. Construcció d'un arbre de Huffman i codis resultants per a cinc símbols.
La taula següent situa els compressors sense pèrdua d'ús general vigents en 2026, el compromís característic del qual és velocitat davant de ràtio:
| Algorisme / format | Tècnica base | Perfil d'ús |
|---|---|---|
gzip / DEFLATE |
LZ77 + Huffman | Veterà, universal, ràtio moderat |
bzip2 |
BWT + Huffman | Millor ràtio, més lent |
Zstandard (zstd) |
LZ + ANS | Molt ràpid, ràtio alt, dominant avui |
| Brotli | LZ + context + diccionari | Web (HTTP), excel·lent en text |
LZMA / xz / 7-Zip |
LZ + rang | Màxim ràtio, usat en arxivat |
12.2. Compressió amb pèrdua
La compressió amb pèrdua ( la gent) descarta informació considerada poc perceptible o irrellevant per obtenir taxes de reducció molt superiors, impossibles sense pèrdua. Només és admissible en dades destinades a la percepció humana — imatge, àudio i vídeo — , on s'aprofiten les limitacions de la vista i l'oïda (models psicovisuals i psicoacústics ) . L'estàndard JPEG comprimix imatges en una canonada característica: convertix el color a un espai lluminància-crominància, submostriu la crominància (a la qual l'ull és menys sensible), aplica la transformada discreta del cosinus (DCT) a blocs de 8 × 8 píxels per passar al domini de la freqüència, quantifica els coeficients descartant les altes freqüències poc visibles —aquí succeix la pèrdua, governada pel factor de qualitat — i finalment codifica el resultat sense pèrdua amb RLE i Huffman. En àudio, MP3 i AAC eliminen els sons emmascarats per uns altres més intensos o inaudibles segons el model psicoacústic. Els còdecs de vídeo (la família H.26x — H.264/AVC, H.265/HEVC i el recent H.266/VC — al costat de les alternatives obertes i lliures de regalies AV1 i VP9 ) combinen la compressió espacial de cada fotograma (intra) amb la predicció temporal entre fotogrames (inter), transmetent només les diferències respecte a fotogrames de referència mitjançant vectors de moviment. El compromís fonamental de la compressió amb pèrdua és entre taxa de compressió i qualitat percebuda: a major compressió, major degradació (blocs, difuminat, artefactes), controlada per un paràmetre de qualitat que el dissenyador ajusta segons el destí. A la frontera actual, tècniques basades en aprenentatge automàtic (compressió neuronal) comencen a superar els còdecs clàssics en qualitat per bit, anticipant la propera generació d'estàndards.
13. Aplicació didàctica i relació amb el currículum
Els continguts d'aquest tema són el substrat invisible de gairebé tot el que l'especialitat de Sistemes i Aplicacions Informmàtiques impartix a la família professional de Informàtica i Comunicacions: no hi ha forma de dimensionar un equip, d'interpretar la capacitat d'un suport o de resoldre un fitxer que s'obre amb caràcters estranys sense entendre com es representa la informació.
En el FFGM de Sistemes Microinformàtics i Xarxes (SMR ), el mòdul 'Montatge i manteniment d'equips' (0221) exigix manejar amb soltesa les magnituds i la diferència entre el múltiple decimal del fabricant i el binari que mostra el sistema —el clàssic 'he comprat un disc d' 1 TB i l'equip diu 931 GB' —, i 'Aplicacions ofimàtiques” (0223) viu de la codificació de caràcters i de la compressió: per què un document compartit arriba amb l'un desenvolupament trencat, què guanya i què perd un fitxer en comprimir-se amb o sense pèrdua. En la FP Bàsica, i arxiu de documents aterra el matix en la gestió quotidiana de fitxers. I en Grado Superior , Fundaments de maquinari" (0371) i Sistemes informàtics» (0483) Han retorçat la representació binària com a base del direccional i del dimensionament de la memòria.
Didàcticament, el tema demana partir del tangible abans que de l'abstracte. Funciona bé obrir un fitxer amb un editor hexadecimal i reconèixer- hi la capçalera i els caràcters; provocar deliberadament un cas de mojibake canviant la codificació en desar, i després reparar- lo; comparar la mida real d'una carpeta abans i després de comprimir- la, i discutir per què un JPEG amb prou feines encoge. L'error més persistent de l'estudiant és confondre bit amb byte i arrossegar l'error a tots els càlculs de capacitat i d'amplada de banda, així que convé establir la distinció aviat i tornar- hi cada vegada que aparegui una xifra.
L'avaluació, referida a resultats d'aprenentatge i a criteris d'avaluació, ha de valorar més la interpretació correcta d'una magnitud en un supòsit real —elegir el suport adequat, estimar quant tarda una transferència — que la conversió mecànica entre bases. És també un bon punt per introduir la tenibilitat: la compressió no és només una comoditat, és menys emmagatzematge, menys trànsit i menys energia, i aquest raonament connecta amb el consum responsable que la formació professional ha de cultivar.
14. Conclusió
La representació i la comunicació de la informació són els dos pilars sobre els quals se sosté la informàtica com a disciplina. Hem vist com el bit, unitat mínima, permet codificar números sencers mitjançant el complement a dos —universal per l'elegància amb què unifica suma i resta en un matix circuit —, números reals mitjançant l'estàndard IEEE 754 —amb el seu enginyós bit implícit, el seu exponent en excés, el seu tractament uniforme de zeros, infinits i NAN, i el seu inevitable inexactitud, que tot programador ha de conèixer —, i caràcters mitjançant una evolució històrica que, des del ASCII de 7 bits, culmina a Unicode i la seva codificació UTF-8, avui estàndard de facto de la web. Hem analitzat com protegir aquesta informació davant dels errors amb codis detectors i correctors, des de la humil paritat fins al CRC i els moderns LDPC, turbo i polars que roçan el límit teòric, i com mesurar-la i comprimir-la a la llum de la teoria de la informació de Shannon, els dos teoremes de la qual fixen els límits infranquables tant de la compressió (la entropia) com de la transmissió fiable (la capacitat del canal).
El fil conductor és sempre el matix: tota la potència del computador i de les xarxes nix de convenis de codificació rigorosos i de lleis matemàtiques precises i inmutables. Comprendre aquests fonaments no és un exercici acadèmic, sinó la condició per diagnosticar errors reals, triar la representació adequada a cada problema i ensenyar amb solvència una matèria que, malgrat la vertiginosa evolució de la tecnologia — de UTF-8 a AV1, de la memòria ECC al 5G —, conserva intactes els seus principis. Per al futur docent de l'especialitat de Sistemes i Aplicacions Informàtica, dominar aquest tema és disposar del llenguatge comú amb el qual es construixen, sense excepció, tots els altres.
15. Bibliografia i referències
Referències tècniques i estàndards
- Tanenbaum, A. S. i Austin, T. (2013). Organització d'ordinadors: un enfocament estructurat. Pearson.
- Stallings, W. (2016). Organització i arquitectura de computadors. Pearson.
- Hennessy, J.L. i Patterson, D. A. (2019). Arquitectura de computadors: un enfocament quantitatiu. Morgan Kaufmann.
- Stallings, W. (2014). Comunicacions i xarxes de computadors. Pearson.
- Cover, T. M. i Thomas, J. A. (2006). Eliments of Information Theory. Wiley.
- Shannon, C. E. (1948). A Mathematical Theory of Communication. Bell System Technical Journal.
- Sayood, K. (2017). Introduction to Data Compresion. Morgan Kaufmann.
- Goldberg, D. (1991). What Every Computer Scientist Should Know About Floating-Point Arithmetic. ACM Computing Surveys.
- IEEE (2019). IEEE Sandard for Floating-Point Arithmetic (IEE 754- 19). IEEE.
- The Unicode Consortium. The Unicode Standard, Version 16.0. Recurs en línia: https: / www.unicode.org
- ISO/IEC 80000-13: 2008. Quantis and units — Part 13: Information science and technology. ISO.
- Internet Engineering Task Force. RFC 3629: UTF- 8, a transformation format of ISO 10646. https: // www.rfc- editor.org
Orientacions per a l'estudi
- Practiqueu les conversions entre bases i el connector a dos fins a automatitzar-les: en l'examen escrit estalvien temps i demostren solvència; no fiu aquests càlculs a la improvisació i verifiqueu sempre amb la reconversió.
- Memoritzi l'estructura dels camps de l'IEEE 754 (signo, exponent en excés, mantessa amb bit implícit) i ensenyi l'exemple complet de codificar un valor negatiu amb decimals; sap explicar amb
0,1per què l'aritmètica no és exacta. És una pregunta recurrent del tribunal. - Distingeix amb claredat els tres eixos que solen confondre' s: detecció davant de correcció d'errors, compressió amb front a sense pèrdua, i prefixos binaris (kibi) davant de SI (kilo); tingueu a mà un exemple numèric de cadascú.
- Vincule sempre la part teòrica (entropia i capacitat de Shannon) amb les seves conseqüències pràctiques (límits de la compressió i de la transmissió) mitjançant un càlcul concret: el tribunal valora la maduresa conceptual, no la mera enumeració.
- Actualitza el tema amb almenys una dada d'estat de l'art 2026 (UTF- 8 sobre el 98% de la web, Zstandard, AV1, codis polars en 5G): demostra que domina no només els fonaments, sinó la seva vigència tecnològica.
- Reserveu entre sis i vuit minuts finals per a l'epígraf d'aplicació didàctica i la conclusió; un tema tècnic impecable però sense connexió curricular perd molts punts en una oposició docent.
- Prepareu un esquema- resum d'una pàgina amb les definicions, taules i fórmules clau per repassar les vigílies i per estructurar mentalment l'exposició davant del tribunal.