Pięcioro dzieci, czyli 101

Coraz więcej otaczających nas przedmiotów otrzymuje miano „cyfrowy". Cyfrowy telewizor, telefon, zegarek, aparat fotograficzny... Ale czy wszyscy wiemy, co to naprawdę oznacza?

Publikacja: 24.06.2019 18:31

Są dwa światy: świat ludzi, w którym używamy liczb dziesiętnych, oraz świat urządzeń cyfrowych, któr

Są dwa światy: świat ludzi, w którym używamy liczb dziesiętnych, oraz świat urządzeń cyfrowych, który opiera się na systemie dwójkowym

Foto: materiały prasowe

W urządzeniach cyfrowych wbudowana jest elektronika, wzorowana na tej, którą wykorzystują komputery. Czasem jednak pojawia się inne określenie: „binarny". (...)

Binarny to znaczy oparty na dwójkowym systemie liczenia.

Na co dzień używamy dziesiętnego systemu liczenia (korzystającego z 10 cyfr od 0 do 9). Ale komputery używają systemu, w którym są tylko dwie cyfry: 0 i 1. Właśnie taki system nazywa się binarnym.

Dlaczego sięgamy do systemu binarnego?

Po pierwsze dlatego, że taki system jest łatwo reprezentować w elektronice: 1 to obecność napięcia w jakimś elemencie mikroprocesora, a 0 to brak napięcia. 1 to dołek wypalony w pewnym miejscu płytki CD albo DVD, a 0 to brak takiego dołka. 1 to błysk światła wędrujący światłowodem, 0 to brak takiego błysku w momencie, kiedy jest oczekiwany. Przykłady można by mnożyć. Cyfry binarne skutecznie i tanio można reprezentować, podczas gdy w systemie dziesiętnym trzeba by było znaleźć taki sposób odwzorowania, żeby używany sygnał kodował i różnicował wszystkie cyfry od 0 do 9, co jest trudniejsze i kosztowniejsze.

System binarny odznacza się bardzo dużą odpornością na zakłócenia. Każde urządzenie techniczne narażone jest na to, że różne czynniki zewnętrzne i wewnętrzne mogą zniekształcać sygnały, które w takim systemie są wykorzystywane. Właśnie te czynniki nazywamy zakłóceniami. Pod wpływem zakłócenia sygnały o celowo małych wartościach mogą swe wartości w sposób niekontrolowany zwiększyć. Mówimy wtedy, że jakieś zewnętrzne źródło (na przykład sieć energetyczna) „wsiało" nam do naszej aparatury fałszywe sygnały. Czasem z kolei taki sygnał, który powinien mieć dużą wartość, traci część swojej energii i ulega stłumieniu. To też brzydkie zakłócenie, chociaż tu najczęściej winne są czynniki wewnątrz rozważanej aparatury.

Niezależnie od tego, jakie jest pochodzenie zakłócenia i jaka jest jego natura – sygnał, który musiałby reprezentować cyfry od 0 do 9, mógłby tym zakłóceniom ulec, czyli mógłby zostać przekłamany. Zewnętrzne zakłócenie, indukujące w naszym aparacie dodatkowe napięcia, mogą sprawić, że słaby sygnał oznaczający cyfrę 2 pod wpływem zakłócenia zwiększy się i będzie interpretowany jako cyfra 3. Z kolei zakłócenia tłumiące mogą sprawić, że duży sygnał oznaczający 9 zostanie zmniejszony i będzie traktowany jak 8. (...)

Gdyby za stosowaniem systemu binarnego przemawiała wyłącznie łatwość technicznej realizacji i odporność na zakłócenia – być może technika cyfrowa by się tak z nim nie związała. Zresztą dokładne obliczenia matematyczne pokazują, że komputery budowane w oparciu o system trójkowy (a nie dwójkowy, czyli binarny) mogłyby być tańsze. W dawnym ZSRR zbudowano kilka takich trójkowych komputerów i całkiem dobrze pracowały.

Jest jednak jeszcze jeden znaczący argument przemawiający za tym, żeby słowo „cyfrowe" utożsamiać ze słowem „binarne". Tym argumentem jest prostota arytmetyki dwójkowej. Działania arytmetyczne w systemie, w którym każda liczba składa się tylko z samych zer i jedynek, są bardzo proste. Na przykład tabliczka mnożenia. Zapewne każdy z Państwa pamięta, jak wiele trudu wymagało jej opanowanie na początku nauki arytmetyki w szkole podstawowej! Tymczasem w systemie binarnym cała tabliczka mnożenia sprowadza się do jednej reguły:

1 x 1 = 1

To wszystko! Żadnych innych cyfr poza 0 i 1 w tym systemie nie ma, a cokolwiek mnożone przez zero – zawsze daje zero (w każdym systemie), więc nie ma potrzeby tego zapisywać w formie oddzielnych formuł.

Podobnie z dodawaniem. Dodanie do czegokolwiek zera nic nie zmienia. Zatem jedyna reguła arytmetyczna, którą trzeba uwzględnić, jest następująca:

1 + 1 = dwa

Drobnym problemem w tej regule jest fakt, że w systemie binarnym nie ma cyfry „dwa", trzeba więc w podanej regule uwzględnić liczbę „dwa", która jest dwucyfrowa. (...)

Dobra zabawa w trybie programisty

We współczesnych obliczeniach istnieją dwa odrębne światy: świat ludzi, w którym używamy i będziemy używali liczb dziesiętnych, oraz świat urządzeń cyfrowych (komputerów, laptopów, tabletów, smartfonów), w których wszystko opiera się na systemie dwójkowym. Na szczęście urządzenia cyfrowe, gdy wyświetlają lub drukują wyniki swoich obliczeń, to zamieniają swoją wewnętrzną reprezentację binarną na naszą dziesiętną. Z kolei gdy my wprowadzamy do tych urządzeń jakieś dane, to posługujemy się naturalnymi dla nas liczbami dziesiętnymi, a posłuszne urządzenia same sobie to zamieniają na wewnętrzną reprezentację binarną.

Z ciekawości (albo dla zabawy) mogą Państwo obejrzeć sobie, jak wyglądają w zapisie binarnym różne liczby. Na przykład rodzicom pięciorga dzieci można pogratulować, bo w systemie binarnym liczba ich potomstwa wyraża się zapisem 101. Z kolei pan, który zgromadził w lodówce 8 puszek piwa, może się chwalić, że ma w zapasie 1000 piw (binarnie). Do zamiany liczb dziesiętnych na binarne i odwrotnie najwygodniej jest użyć kalkulatora dostępnego w systemie Windows, przełączając go w tryb programisty. Można wtedy wprowadzać dane dziesiętnie i otrzymywać wyniki binarnie – lub odwrotnie. To naprawdę fajna zabawa!

System binarny ma jeszcze jedną zaletę: za jego pomocą można równie łatwo i naturalnie zapisywać liczby (te, na których trzeba wykonać wymagane działania arytmetyczne, i te, które są wynikiem tych działań), jak i wartości logiczne.

Komputer w wielu przypadkach musi sprawdzać rozmaite warunki (na przykład wyszukując potrzebne informacje), a wynik sprawdzenia dowolnego warunku może być wartością logiczną. Są tylko dwie możliwe wartości logiczne: prawda albo fałsz. Jeśli umówimy się, że wartość prawda utożsamiać będziemy z jedynką, a fałsz oznaczać będziemy jako zero – to te same elementy elektroniczne w strukturze komputera (w pamięci lub w mikroprocesorze) mogą być wykorzystywane zarówno do rejestrowania liczb, jak i do zapisywania rozstrzygnięć logicznych. Jest to ważne, bo dzięki temu komputer może mieć zaprogramowane nie tylko obliczenia na liczbach, ale również ewaluacje złożonych warunków logicznych. W efekcie komputer może prowadzić działania podobne do ludzkiego rozumowania, kiedy z kilku przesłanek trzeba wyciągnąć końcowy wniosek. Służą do tego reguły logiki matematycznej, którą procesor komputera ma wbudowaną na równi z podanymi wyżej regułami wykonywania działań arytmetycznych. Reguły te odwołują się do trzech operacji.

Pierwszą z nich jest negacja. Jeśli jakiś warunek jest prawdziwy i zastosujemy do niego operację negacji – to otrzymamy fałsz. Z kolei zanegowanie warunku fałszywego prowadzi do stwierdzenia prawdziwego.

Drugą jest alternatywa. Jeśli mamy liczne warunki i połączymy je operacją alternatywy – to zbudowane stwierdzenie będzie prawdziwe, jeśli chociaż jeden z tych warunków będzie prawdziwy.

Trzecią operacją jest koniunkcja. Jeśli znowu mamy liczne warunki i połączymy je operacją koniunkcji, to całe stwierdzenie będzie prawdziwe tylko wtedy, jeśli wszystkie warunki będą prawdziwe. (...)

Kiedy „kilo" nie oznacza „tysiąc"

Binarnie reprezentowane liczby, wartości logiczne, ale także obecnie teksty, obrazy, dźwięki i inne sygnały umieszcza się w komputerze w różnych układach elektronicznych – głównie w rejestrach procesora i w pamięci. Dla tych układów trzeba określać ich pojemność. Można ją wyrażać w bitach. Bit to taki składnik struktury komputera, w którym można umieścić jedną cyfrę binarną, czyli wartość zero albo jeden. Bit jest bardzo małą porcją informacji, dlatego do zapisu nawet jednej liczby potrzeba od kilkunastu do kilkudziesięciu bitów, nawet niewielki tekst wymaga kilkuset bitów, a typowy obraz to dziesiątki milionów bitów. Z tego powodu w 1956 r. Werner Buchholz z firmy IBM wprowadził koncepcję „paczki" zawierającej 8 bitów. Takiej „paczce" nadano nazwę bajt.

Ale jeden bajt to także bardzo mała porcja informacji, dlatego w danych technicznych urządzeń cyfrowych podaje się ich pojemność w kilobajtach, megabajtach i gigabajtach. W tych nazwach zawarta jest jednak pewne pułapka, którą na koniec tego artykułu warto ujawnić. Przywykliśmy, że przedrostek kilo oznacza tysiąc. Kilometr to tysiąc metrów, kilogram to tysiąc gramów itp. Natomiast w systemach cyfrowych kilo oznacza mnożnik „dwa do dziesiątej potęgi". Dlatego kilobajt to 1.024 bajty. Podobnie mega oznaczające mnożenie przez milion w systemach binarnych oznacza mnożnik „dwa do dwudziestej potęgi", w związku z czym megabajt to 1.048.576 bajtów. Na podobnej zasadzie gigabajt to 1.073.741.824 bajtów. W przybliżeniu rozważane mnożniki można utożsamiać z „okrągłymi" liczbami tysiąc, milion i miliard – ale warto pamiętać, że naprawdę oznaczają one więcej.

Prof. dr hab. Ryszard Tadeusiewicz, automatyk i informatyk, był trzykrotnym rektorem Akademii Górniczo-Hutniczej.

Pełna wersja tekstu: www.rp.pl

W urządzeniach cyfrowych wbudowana jest elektronika, wzorowana na tej, którą wykorzystują komputery. Czasem jednak pojawia się inne określenie: „binarny". (...)

Binarny to znaczy oparty na dwójkowym systemie liczenia.

Pozostało 98% artykułu
2 / 3
artykułów
Czytaj dalej. Subskrybuj
Materiał partnera
Technologie kwantowe: nauka tworzy szanse dla gospodarki
Materiał Promocyjny
Wykup samochodu z leasingu – co warto wiedzieć?
Nowe technologie
Niewykrywalny bombowiec strategiczny Sił Powietrznych USA odbył pierwszy lot
Nowe technologie
Co mówią kury? Naukowcy opracowali tłumacza, użyli sztucznej inteligencji
Nowe technologie
Prof. Zybertowicz: AI może potraktować ludzkość jak budowniczy autostrad traktują mrowiska
Materiał Promocyjny
Dell Technologies: nie ma branży czy przedsiębiorstwa, które może funkcjonować bez nowoczesnych technologii