Co to jest Binary i dlaczego komputery go używają?
Komputery nie rozumieją słów i cyfr tak jak ludzie. Nowoczesne oprogramowanie pozwala użytkownikowi końcowemu zignorować to, ale na najniższych poziomach komputera wszystko jest reprezentowane przez binarny sygnał elektryczny, który rejestruje się w jednym z dwóch stanów: włączony lub wyłączony. Aby uzyskać zrozumienie skomplikowanych danych, komputer musi zakodować go w postaci binarnej.
Binary to system liczb bazowych 2. Podstawa 2 oznacza, że są tylko dwie cyfry-1 i 0, które odpowiadają stanom włączania i wyłączania komputera. Prawdopodobnie znasz bazę 10 - system dziesiętny. Dziesiętny używa dziesięciu cyfr, które wahają się od 0 do 9, a następnie owija się, tworząc dwucyfrowe liczby, z których każda jest warta dziesięć razy więcej niż ostatnia (1, 10, 100 itd.). Binarny jest podobny, każda cyfra jest warta dwa razy więcej niż ostatnia.
Liczenie w binarnym
W systemie binarnym pierwsza cyfra jest warta 1 w systemie dziesiętnym. Druga cyfra jest warta 2, trzecia warta 4, czwarta warta 8, i tak dalej - podwojenie za każdym razem. Dodanie tych wszystkich daje liczbę dziesiętną. Więc,
1111 (w systemie binarnym) = 8 + 4 + 2 + 1 = 15 (dziesiętnie)
Rachunek 0 daje 16 możliwych wartości dla czterech bitów binarnych. Przejdź na 8 bitów i masz 256 możliwych wartości. Zajmuje to dużo więcej miejsca do reprezentowania, ponieważ cztery cyfry dziesiętne dają nam 10 000 możliwych wartości. Może się wydawać, że przechodzimy przez te wszystkie trudności związane z wymyślaniem naszego systemu liczenia tylko po to, aby uczynić go bardziej klarownym, ale komputery lepiej rozumieją binarne niż rozumieją dziesiętnie. Oczywiście, plik binarny zajmuje więcej miejsca, ale jesteśmy powstrzymywani przez sprzęt. I dla niektórych rzeczy, takich jak przetwarzanie logiczne, plik binarny jest lepszy niż dziesiętny.
Jest inny system bazowy, który jest również używany w programowaniu: szesnastkowy. Chociaż komputery nie działają w systemie szesnastkowym, programiści używają go do reprezentowania adresów binarnych w formacie czytelnym dla człowieka podczas pisania kodu. Dzieje się tak dlatego, że dwie cyfry szesnastkowe mogą reprezentować cały bajt, osiem cyfr w postaci binarnej. Szesnastkowy używa 0-9 jak dziesiętny, a także litery od A do F, aby reprezentować dodatkowe sześć cyfr.
Dlaczego więc komputery używają binarnego??
Krótka odpowiedź: sprzęt i prawa fizyki. Każda liczba w twoim komputerze jest sygnałem elektrycznym, a we wczesnych dniach obliczeń sygnały elektryczne były znacznie trudniejsze do zmierzenia i sterowania bardzo precyzyjnie. Bardziej sensowne było rozróżnianie między stanem "włączonym" - reprezentowanym przez ładunek ujemny - i stanem "wyłączonym" reprezentowanym przez ładunek dodatni. Dla tych, którzy nie wiedzą, dlaczego "off" jest reprezentowany przez ładunek dodatni, to dlatego, że elektrony mają ładunek ujemny - więcej elektronów oznacza więcej prądu z ładunkiem ujemnym.
Tak więc wczesne komputery wielkości pokoi używały binarnie do budowania swoich systemów, i chociaż używały dużo starszego, masywniejszego sprzętu, zachowaliśmy te same podstawowe zasady. Współczesne komputery używają tak zwanego tranzystora do wykonywania obliczeń za pomocą binarnego. Oto diagram tego, jak wygląda tranzystor polowy (FET):
Zasadniczo pozwala on tylko na przepływ prądu od źródła do odpływu, jeśli w bramce znajduje się prąd. Tworzy to przełącznik binarny. Producenci mogą zbudować te tranzystory niezwykle małe - aż do 5 nanometrów lub około dwóch nici DNA. Tak działają współczesne procesory, a nawet one mogą cierpieć z powodu różnic między stanami włączania i wyłączania (choć to głównie z powodu ich nierealnych rozmiarów, podlegających dziwaczności mechaniki kwantowej).
Ale dlaczego tylko Base 2?
Więc może myślisz: "dlaczego tylko 0 i 1? Czy nie możesz po prostu dodać innej cyfry? "Podczas gdy niektóre z nich sprowadzają się do tradycji budowania komputerów, dodanie innej cyfry oznaczałoby, że musielibyśmy rozróżnić różne poziomy prądu - nie tylko" wyłączone "i" włączone ". , "Ale także stwierdza" trochę "i" dużo ".
Problem polega na tym, że jeśli chcesz używać wielu poziomów napięcia, potrzebujesz sposobu na łatwe wykonywanie obliczeń z nimi, a sprzęt do tego nie jest opłacalny jako zamiennik dla obliczeń binarnych. Rzeczywiście istnieje; nazywa się to komputer trójskładnikowy i działa już od lat 50. XX wieku, ale to właśnie tam zatrzymano rozwój. Logika trójprzewodnikowa jest o wiele bardziej wydajna niż binarna, ale jak dotąd nikt nie ma skutecznego zamiennika dla tranzystora binarnego, a przynajmniej nie wykonano żadnej pracy nad ich rozwojem w tych samych małych skalach, co binarne..
Powód, dla którego nie możemy użyć logiki trójskładnikowej, sprowadza się do tego, że tranzystory są ułożone w komputer - coś, co nazywa się "bramkami"-i jak są używane do wykonywania matematyki. Bramki pobierają dwa wejścia, wykonują na nich operację i zwracają jedno wyjście.
To prowadzi nas do długiej odpowiedzi: binarna matematyka jest dla komputera łatwiejsza niż cokolwiek innego. Logika logiczna jest łatwa do mapowania systemów binarnych, przy czym rzeczywistość i fałsz są reprezentowane przez włączanie i wyłączanie. Bramy w twoim komputerze działają w oparciu o logikę boolowską: pobierają dwa wejścia i wykonują na nich operacje, takie jak AND, OR, XOR i tak dalej. Dwa wejścia są łatwe w zarządzaniu. Gdybyś miał wykreślić odpowiedzi dla każdego możliwego wejścia, miałbyś to, co jest znane jako tablica prawdy:
Tabela prawdy binarnej operująca na logice logicznej będzie miała cztery możliwe wyjścia dla każdej operacji podstawowej. Ale ponieważ bramy trójskładnikowe przyjmują trzy wejścia, trójskładnikowa tablica prawdy miałaby 9 lub więcej. Podczas gdy system dwójkowy ma 16 możliwych operatorów (2 ^ 2 ^ 2), system trójskładnikowy miałby 19683 (3 ^ 3 ^ 3). Skalowanie staje się problemem, ponieważ podczas gdy trójskładnik jest bardziej wydajny, jest on także wykładniczy bardziej złożony.
Kto wie? W przyszłości moglibyśmy zacząć postrzegać komputery trójskładnikowe, gdy przesuniemy granice binarne do poziomu molekularnego. Na razie jednak świat nadal będzie działał na zasadzie binarnej.
Źródło zdjęć: spainter_vfx / Shutterstock, Wikipedia, Wikipedia, Wikipedia, Wikipedia