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.
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 (binarnie to 10)
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.
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ą.
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.
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.
Przygotowano na podstawie tekstu prof. dr hab. Ryszarda Tadeusiewicza, automatyka i informatyka, trzykrotnego rektora Akademii Górniczo-Hutniczej w Krakowie.
Pełna wersja tekstu ukazała się na www.rp.pl
Konwersja liczb z systemu dwójkowego na dziesiętny i odwrotnie
https://www.youtube.com/watch?v=VUHwfugYFEA&t=199s
Konwersja liczb z systemu dwójkowego na dziesiętny i odwrotnie
Dodawanie w systemie dwójkowym
Mnożenie liczb binarnych