to wszystko 1s i 0s: jak komputery mapują świat fizyczny
liczba „12” nie jest wartością 12 w kartonie z jajkami. Słowo „skała” nie jest skałą, którą natkniesz się na zewnątrz. Zamiast tego są to tylko symbole, stworzone z kolekcji innych symboli, które reprezentują konkretne pojęcia, które dobrze odwzorowują świat wokół nas. Są to narzędzia, które dają nam możliwość rozbicia świata, masy materii, na łatwe do opanowania kawałki. Używamy ich nie dlatego, że są obiektywnie „prawdziwe”, ale dlatego, że są przydatne w realizacji naszych celów, biorąc pod uwagę zestaw fizycznych ograniczeń.
w istocie korzystanie z binarnych komputerów nie jest bardziej skomplikowane. Po prostu kolejny system stworzony przez człowieka stworzony, aby osiągnąć jakiś cel z pewnym zestawem ograniczeń.
zanim pomyślimy o tym, jak komputery używają systemu binarnego, warto zastanowić się, dlaczego używamy systemu denarnego. Naszym celem jest reprezentowanie wartości liczbowych i przekazywanie ich innym. Możemy sobie wyobrazić system, w którym mieliśmy nową postać dla każdej możliwej liczby. Na przykład, 156 byłby rodzajem zawijanej linii z haczykiem na górze, nie należy mylić z symbolem 38, który byłby reprezentowany przez okrąg z linią na górze. Byłby to najskuteczniejszy sposób przedstawiania wartości, ponieważ do reprezentowania nawet największych liczb potrzebny byłby tylko jeden znak, zamiast łańcucha znaków. Ale to nie byłoby najbardziej praktyczne. Wyobraźcie sobie nauczycielkę z pierwszej klasy, która sprawdza swoich uczniów pod kątem różnicy między postacią reprezentującą 1589 a postacią reprezentującą 2 000 478 i wszystkimi postaciami pomiędzy nimi.
oczywiście istnieje ograniczenie liczby znaków, które chcemy mieć w naszym systemie reprezentacji. A co z przeciwległym końcem spektrum: systemem liczbowym z jednym dostępnym znakiem? Jasne, że to możliwe — TERAZ Pokaż mi 2,000,478 używając systemu base-1. Oczywiście jest to również niepraktyczne.
nagle, system base-10 ma sens nie jako jedyny dostępny system numeryczny, ale dobre dopasowanie, biorąc pod uwagę naszą potrzebę praktyczności, elegancji i wydajności. Mając tylko 10 dostępnych znaków, mogę łatwo przedstawić liczbę 2,000,478, mnożąc wartość liczbową tej kolumny przez kolejną potęgę 10, Jak pokazano poniżej:
2 x 10⁶= 2,000,000
0 x 10⁵= 0
0 x 10⁴= 0
0 x 103= 0
4 x 102 = 400
li>
7 x 101 = 70
8 x 101 = 8
suma = 2.000.478
co za wspaniały system przedstawiania wartości. Więc dlaczego komputery nie używają tego systemu?
od Denary do Binary
prądy elektryczne są uruchomione (otwarte/włączone) lub nie są (zamknięte/wyłączone), co oznacza, że mamy do dyspozycji dwa znaki wartości: 1 i 0. Biorąc pod uwagę te ograniczenia, możemy użyć tej samej metody, której użyliśmy do wybrania systemu base-10, aby znaleźć system reprezentacji, z którego mogą korzystać Komputery.Z tylko dwa stany dostępne do reprezentowania różnych znaków jedyną alternatywą dla binarny byłby system tally. Ale do reprezentowania wartości 255 w systemie liczbowym potrzebowalibyśmy 255 cyfr. To jest 255 tranzystorów” na”, które reprezentują stosunkowo małą liczbę. Binary potrzebuje tylko 8, aby osiągnąć ten sam cel.
oto jak binary to robi.
system bazowy 2 działa podobnie do systemu bazowego 10, ale zamiast mnożyć wartość każdej kolumny przez następną wielokrotność 2, są one mnożone przez następną wielokrotność 2. Na przykład liczbę binarną 10100 można przetłumaczyć na liczbę bazową 10, dodając do siebie następujące wartości:
1 x 2⁴ = 16
0 x 23 = 0
1 x 22 = 4
0 x 21 = 0
0 x 2⁰ = 0
z bitów na bajty
stąd, możemy zacząć budować konwencję, jak używać tego systemu numerycznego do mapowania otaczającego nas świata na impulsach elektrycznych włączania i wyłączania. Najpierw nadajmy Naszym znakom nazwę: cyfry binarne lub bity w skrócie, najmniejsza jednostka danych w komputerze.
następnie określimy, ile bitów będzie potrzeba, aby reprezentować wartość nie numeryczną, taką jak litera lub znak specjalny. Proces ten jest tak wymyślony, jak proces wybierania systemu liczbowego do reprezentowania wartości. Mamy pewne cele, pewne ustalone narzędzia i ogólne pragnienie elegancji i wydajności. Na klawiaturze jest 101 znaków, co oznacza, że musimy reprezentować 101 w formacie binarnym jako wartość maksymalną. Okazuje się, że 101 w bazie-10 jest liczbą 01100101 w binarnym. Jest to wymóg bazowy dla 7 dostępnych tranzystorów, jeśli chcemy odwzorować każdy klucz na określoną wartość liczbową. Ale co, jeśli są inne postacie, które chcemy reprezentować? Z 7, wszystkie włączone, reprezentujemy tylko liczbę 127 w bazie-10. Równie dobrze może dać nam jeszcze jeden kawałek do pracy.
i tak mamy bajty, bazową jednostkę danych pomiarowych, o której mówi się, że reprezentuje co najmniej jeden znak. Możemy teraz reprezentować wartości od 0-255 (00000000-11111111).
ponieważ komputery mogą tylko rozumieć liczby, amerykański standardowy kod wymiany informacji (ASCII) został ustanowiony w celu przypisania każdemu znakowi na klawiaturze określonej wartości liczbowej, jak przedstawiono poniżej: