10 rodzajów komputerów

Użycie systemu dwójkowego w arytmetyce komputerów uznajemy za coś tak oczywistego, że wprost niewiarygodnym pomysłem wydaje się nam zastosowanie innego systemu liczbowego. Mimo całego postępu w informatyce, zawsze musimy pamiętać, że u jej podstaw tkwią zera i jedynki.

Użycie systemu dwójkowego w arytmetyce komputerów uznajemy za coś tak oczywistego, że wprost niewiarygodnym pomysłem wydaje się nam zastosowanie innego systemu liczbowego. Mimo całego postępu w informatyce, zawsze musimy pamiętać, że u jej podstaw tkwią zera i jedynki.

Tymczasem każdy, kto nie przespał w szkole lekcji matematyki, wie, że systemy liczbowe są równoważne i w zasadzie każdy jest równie dobry. Wiedzieli o tym także konstruktorzy wczesnych komputerów. Z dzisiejszej perspektywy wydaje się nam to niesamowite, ale binarna przyszłość informatyki w jej wieku młodzieńczym nie była bynajmniej zdeterminowana. ENIAC działał w systemie dziesiętnym, a drukował na taśmie szóstkowo.

Równie wielu problemów przysparza nam ośmiobitowe słowo, czyli bajt. Każdy z Państwa, kto miał kłopoty z zamianą tekstu kodowanego w CP1250 na ISO 8852-2 wie, że 8 bitów to za mało, by reprezentować tekst. Zaś kompresja danych to nic innego jak zastępowanie często powtarzających się słów krótkimi, parobitowymi sekwencjami w celu skrócenia samego przekazu. Archaiczny, wydawałoby się, alfabet Morse'a to znakomity przykład kodu o zmiennej długości słowa, którego zastosowanie do kodowania angielskiego tekstu przynosi oszczędność pasma o połowę w porównaniu z ASCII.

Związek Sowiecki rozwijał natomiast komputery trójkowe. Rosyjski matematyk (w komuniźmie była uznawana za naukę burżuazyjną, dlatego komputerami zajmowali się matematycy i informatykę nazywali cybernetyką) Bruzencow opracował podstawy teoretyczne komputera trójkowego. Każdy jego "bit" mógł przyjmować trzy wartości: 1, 0 oraz "1" (minus jeden). System miał kapitalną zaletę: był doskonale symetryczny. Najlepiej przytoczyć analogię wagi: kiedy chcemy odważyć 2 kg piasku posiadając odważniki 3 kg oraz 1 kg, na jednej stronie szalki stawiamy 3 kg, na drugiej kładziemy odważnik 1 kg i sypiemy piasek. Po zrównoważeniu wagi mamy odmierzone równo 2 kg piasku. W systemie Bruzencowa dziesiętne 1 oznaczane jest jako 1, 3 jako 10, zaś - uwaga! - 2 oznaczane jest jako 1'1, a 5 jako 1'1'1. W systemie trójkowym nie istnieje w ogóle problem znaku liczby i jego reprezentowania - co powinno dać do myślenia każdemu informatykowi, który np. po dodaniu 1 do liczby 127 zobaczył - 128, choć typ zmiennej nazywał się znak (char).

Sowiecka nauka o komputerach nie rozwinęła się równolegle do zachodniej z dwóch powodów. Po pierwsze, nie istniały stabilne układy elektroniczne, które mogłyby stanowić bazę dla trójkowych jednostek obliczeniowych i pamięci. Po drugie, nauka marksistowska odrzucała istnienie abstrakcyjnej informacji jako "błędny, burżuazyjny idealizm". Nie potrafiła więc wytworzyć całej niezbędnej bazy teoretycznej do budowy zaawansowanych jednostek przetwarzających informację i w efekcie Sowieci w latach 70. zostali zmuszeni do kopiowania amerykańskich maszyn ukradzionych przez szpiegów przemysłowych.

Technologia elektronowa idzie jednak naprzód i być może gdzieś, kiedyś ktoś stwierdzi, że bez kłopotu możemy odwzorować więcej niż dwa stany napięcia i pojawią się z powrotem komputery trójkowe, dziesiętne, albo np. setkowe - wszystko zależy od rozdzielczości bramek i pamięci. Dziś może się to wydać zadaniem nieważnym - ale pozwolę sobie przypomnieć, że kiedy Ada Augusta Lovelace pisała, że system dwójkowy jest zasadniczo prostszy od dziesiętnego, także uważano to za nic nieznaczącą spekulację.

Może będziemy mieć wtedy 10 rodzajów komputerów: binarne i niebinarne. Kto nie rozumie dlaczego 10, prawdopodobnie sięgnął po niewłaściwą gazetę.


TOP 200