Cum face un calculator totul doar cu 0 și 1?
Un telefon desenează, cântă și traduce în zeci de limbi. Și totuși, pe dinăuntru, știe doar două cuvinte: da și nu. Restul e organizare.
Miliarde de întrerupătoare
Un întrerupător are două stări: pornit sau oprit. Acum imaginează-ți miliarde de întrerupătoare atât de mici încât nu le vezi nici la un microscop obișnuit. Se numesc tranzistori și stau pe o bucățică de siliciu numită cip.
Fiecare tranzistor e fie pornit, adică 1, fie oprit, adică 0. Sistemul de numere care folosește doar aceste două cifre se numește sistemul binar.
Un tranzistor e un întrerupător fără nicio parte care să se miște: o tensiune mică pusă pe un capăt al lui lasă sau nu lasă curentul să treacă prin celelalte două. Primul tranzistor a fost construit în 1947, la Bell Labs, în America.
Legând tranzistori între ei, inginerii fac porți logice: circuite mici care răspund la întrebări simple, ca „sunt ambele intrări 1?”. Din porți logice se construiesc circuite care adună, compară și țin minte numere.
Să numărăm în binar
În binar, fiecare poziție valorează dublul celei din dreapta ei: 1, 2, 4, 8, 16 și tot așa. Pui 1 pe pozițiile pe care vrei să le aduni și 0 pe celelalte.
De exemplu, 101 înseamnă 4 + 0 + 1, adică 5. Iar 1101 înseamnă 8 + 4 + 0 + 1, adică 13. Cu cinci cifre binare poți scrie orice număr de la 0 la 31.
O cifră binară se numește bit. Un grup de 8 biți se numește octet, în engleză byte, și poate ține un număr de la 0 la 255. Un telefon cu „128 de gigabytes” poate ține minte aproximativ 128 de miliarde de octeți.
De ce doar două cifre? Pentru că e mult mai ușor să deosebești sigur „curent” de „fără curent” decât zece niveluri diferite de curent. Un calculator cu două stări greșește foarte rar.
Litere și poze din cifre
Pentru litere, inginerii au căzut de acord asupra unui tabel: fiecare literă are un număr. În tabelul cel mai folosit, A mare e 65, B e 66, C e 67. Calculatorul scrie numărul în binar, iar 65 devine 01000001.
O poză de pe ecran e o tablă de pătrățele, numite pixeli. Fiecare pixel are trei numere: cât roșu, cât verde și cât albastru. O poză făcută cu telefonul are milioane de pixeli, deci zeci de milioane de numere.
Tabelul vechi, ASCII, avea doar 128 de semne, fără diacritice. Azi se folosește Unicode, care are numere pentru peste 150.000 de semne: literele tuturor limbilor, simboluri matematice și emoji. Literele românești ca Ș sau Ț ocupă doi octeți în forma cea mai folosită, UTF-8.
Muzica se scrie la fel: microfonul măsoară de zeci de mii de ori pe secundă cât de tare apasă aerul, iar fiecare măsurătoare devine un număr.
De la roți dințate la cipuri
În 1642, francezul Blaise Pascal, la 19 ani, a construit o mașină cu roți dințate care aduna și scădea. În 1843, Ada Lovelace a scris despre mașina analitică a lui Charles Babbage, care nu a fost construită niciodată, și a descris cum ar putea calcula pas cu pas un șir de numere.
În 1945 a fost pornit în America ENIAC, unul dintre primele calculatoare electronice. Cântărea aproximativ 27 de tone și umplea o sală întreagă. În România, primele calculatoare electronice, CET-8 la București și MECIPT la Timișoara, au apărut la începutul anilor 1960.
Un calculator face exact ce îi spui. Nici mai mult, nici mai puțin. Dacă greșești o instrucțiune, el face greșeala cu toată seriozitatea, de miliarde de ori pe secundă.
Fapt sau legendă?
„Cuvântul „bug”, pentru o greșeală, a apărut din cauza moliei din 1947.”
„Ada Lovelace a fost, fără nicio îndoială, primul programator din istorie.”
„Un calculator nu poate face nimic ce nu i s-a spus prin program.”
Experiment: numără până la 31 pe o mână
Nu se știe încă
Un calculator cuantic nu lucrează doar cu 0 și 1, ci cu biți cuantici, care urmează alte reguli. Pentru câteva probleme anume, teoria spune că ar fi mult mai rapid. Dar cele construite până acum fac încă multe greșeli, iar dacă și când vor rezolva probleme utile pe care calculatoarele obișnuite nu le pot rezolva, încă nu se știe.
Testul lui Kokodel
- Petzold C. Code: The Hidden Language of Computer Hardware and Software. Microsoft Press, 1999.
- Ceruzzi P. E. A History of Modern Computing. MIT Press.
- The Unicode Consortium. The Unicode Standard.
- Smithsonian, National Museum of American History. Log Book With Computer Bug, 1947.