Uroki arytmetyki binarnej

Uroki arytmetyki binarnej
Ryszard Tadeusiewicz Naukowiec AGH, absolwent myślenickiego LO

Dzisiejszy felieton jest kontynuacją dwóch wcześniejszych, w których omawiałem właściwości systemu dwójkowego, wykorzystywanego w informatyce. Gdyby za stosowaniem systemu binarnego przemawiała wyłącznie łatwość technicznej realizacji i odporność na zakłócenia (o czym pisałem we wcześniejszych felietonach) – 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 reguł.

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 (i wygląda tak: 10). Ale tego szczegółu nie będę tutaj drążyć, bo by to zajęło zbyt dużo miejsca, a chciałbym jeszcze sporo ciekawych rzeczy opowiedzieć o systemie binarnym, który jest matematyczną podstawą całej współczesnej informatyki.

Zalety arytmetyki dwójkowej nie przekonają zapewne nikogo z Państwa do tego, by od jutra porzucić znany nam od dziecka (a ludzkości od tysięcy lat) system dziesiętny i na co dzień używać systemu dwójkowego. Ale gdy budujemy komputer mamy swobodę wyboru!

System binarny ma jeszcze jedną zaletę: przy jego pomocy 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 jest 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 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 maszyna 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. Ale o właściwościach logiki matematycznej napiszę innym razem.