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:

jako przykład przedstawisz frazę ” Hello World!”in binary:

  • Text: Hello World!
  • numery ASCII: 072 101 108 108 111 032 087 111 114 108 100 033
  • Binary: 00110000 00110111 00110010 00100000 00110001 00110000 00110001 00100000 00110001 00110000 00111000 00100000 00110001 00110000 00111000 00100000 00110001 00110001 00110001 00100000 00110000 00110011 00110010 00100000 00110000 00111000 00110111 00100000 00110001 00110001 00110001 00100000 00110001 00110001 00110100 00100000 00110001 00110000 00111000 00100000 00110001 00110000 00110000 00100000 00110000 00110011 00110011

podobnie jak tekst, obrazy również muszą być konwertowane na binarne. Możemy reprezentować obrazy w postaci binarnej, dzieląc obraz na siatkę pikseli i dzieląc każdy kolor pikseli na kombinację 3 kolorów (Czerwony, zielony i niebieski), Zwykle określaną jako wartość RGB pikseli. Maksymalna wartość każdego z tych kolorów może mieć indywidualnie to 255, a minimalna to 0, co oznacza, że każda wartość kolorów dla każdego piksela może być reprezentowana przez 1 bajt, co daje w sumie 3 bajty na piksel.

jako przykład możemy przedstawić odcień zielonego piksela pokazanego powyżej w lokalizacji (1,0) W RGB i binarnym poniżej:

  • wartości RGB: (6, 250, 7)
  • Binary: 00000110, 11111010, 00000111

wreszcie, możemy reprezentować dane dźwiękowe w formacie binarnym, jak również za pomocą „sampling”. Wykresując fale dźwiękowe zarejestrowanego dźwięku i notując wartości wysokości fal w regularnych odstępach czasu, możemy następnie przekonwertować te wartości na wartości binarne, a następnie odtworzyć tę falę dźwiękową za pomocą tych wartości binarnych w późniejszym czasie.

na przykład powyższa fala dźwiękowa ma wartość dziesiętną 8 w przedziale czasowym 1, co daje jej wartość bajtową 00001000.

od binarnego do logicznego

istnieje wiele różnych sposobów przechowywania danych binarnych, w tym karty perforowane, namagnesowana taśma, dyski optyczne itp. Wszyscy używają tej konwencji przedstawiania wartości w systemie base-2. Jednak reprezentowanie świata w trybie binarnym to tylko połowa sukcesu. Druga połowa go operuje. Wprowadź operatory bitowe.

operatory bitowe działają na poszczególnych bitach i są podstawowymi operacjami arytmetycznymi, których używa procesor. Każdy operator bitowy ma zestaw z góry określonych reguł, które dają określone wyjście z dwóch wejść.

operatory bitowe i odpowiadające im wyjścia

możesz rozpoznać te narzędzia jako te, które są częścią systemu, którego używamy na długo przed odkryciem elektryczności: logika. Podczas gdy operator bitowy może wydawać się obcy, pochodzi z operatorów logicznych i podobnie jak systemy numeryczne używamy operatorów logicznych jako operatorów bitowych, ponieważ służą one naszym celom sprawnie i elegancko, biorąc pod uwagę nasze obecne ograniczenia fizyczne.

naszym celem jest pobranie dwóch różnych wartości reprezentowanych przez dwa możliwe znaki, tworząc nową wartość zgodnie z zestawem reguł deterministycznych. Możesz zobaczyć, jak nasz system logiki wnioskowej dobrze przekłada się na logikę obliczeniową poniżej:

pomyśl o operatorze AND w kontekście tego zdania: „Bob zjadł lunch i poszedł do kina.”Jeśli pierwsze stwierdzenie jest prawdziwe, a drugie fałszywe, to zdanie jest fałszywe.

T& F = f

ale jeśli pierwsze polecenie jest prawdziwe, a drugie jest prawdziwe, to polecenie jest prawdziwe.

T& T = T

co z operatorem OR: „Bob zjadł lunch albo Bob poszedł do kina”. Jeśli pierwsze stwierdzenie jest prawdziwe, a drugie fałszywe, zdanie jest nadal prawdziwe.

T v F = t

ale jeśli oba są fałszywe, to zdanie jest fałszywe.

F v F = F

teraz zamień T I F na 1 i 0 i mamy bloki konstrukcyjne do manipulowania binarnymi, aby utworzyć nowe ciągi binarne, a tym samym nowe reprezentacje wartości. Używamy tych operatorów bitowych w bramkach logicznych, przełącznikach elektronicznych, które używają tej logiki do tworzenia nowych wartości. Wyobraź sobie następujący scenariusz:

aby rozpocząć wyświetlanie liczb, musisz zapalić prawą dolną diodę LED w kalkulatorze 0, 1, 3, 4, 5, 6, 7, 8, i 9, ale nie numer 2. Oznacza to, że liczby binarne 00, 01, 100, 101 110, 111, i 1001, ale nie 10 muszą produkować pojedynczy sygnał (1). Aby włączyć te sygnały elektryczne do pojedynczego sygnału na tej diodzie LED możemy połączyć 3 lub bramki logiczne i bramki logiczne Nie razem, aby zapewnić, że te wartości powodują 1 lub 0. Poniżej można zobaczyć przykład liczby 7 reprezentowanej w postaci binarnej (1110), co skutkuje pojedynczym sygnałem, co powoduje, że w prawym dolnym rogu świeci się dioda LED.

Quantum Computing

The only exception to this rule of representing the world in 1’s and 0’s in computers lies in Quantum computing.

Quantum computing attempts to use the „spooky” nature of sub-atomic particles to represent represent data. Na przykład wykazano, że fotony wykazują pozornie sprzeczne zachowania, reprezentując wiele stanów jednocześnie. Zachowanie wielostanowe daje nam dodatkowe wartości do zabawy oprócz typowego włączania / wyłączania, które zwykle otrzymujemy z sygnałami elektrycznymi. Zamiast używać bitu do przechowywania danych, komputery kwantowe używają kubitów, które mogą być albo 1, albo 0, albo oba w tym samym czasie.



Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.