Dlaczego komputery używają binarnego systemu liczb (0,1)? Dlaczego zamiast tego nie używają Ternary Number System (0,1,2) lub innego systemu liczb?
Dlaczego komputery używają binarnego systemu liczb (0,1)? Dlaczego zamiast tego nie używają Ternary Number System (0,1,2) lub innego systemu liczb?
Odpowiedzi:
Ponieważ zajmujemy się informatyką, odpowiem w ten sposób: nie.
Co rozumiemy przez „komputer”? Istnieje wiele definicji, ale w informatyce jako nauce najczęstszą jest maszyna Turinga.
Maszynę Turinga definiuje kilka aspektów: zestaw stanów, tabela przejściowa, zestaw zatrzymania i ważny dla naszej dyskusji alfabet. Ten alfabet odnosi się do symboli, które urządzenie może odczytać jako dane wejściowe i które może zapisać na swojej taśmie. (Możesz mieć różne alfabety wejściowe i taśmowe, ale na razie się tym nie martw.)
Mogę więc zrobić maszynę Turinga z alfabetem wejściowym lub { a , b } lub { 0 , 1 , 2 } lub { ↑ , ↓ } . To nie ma znaczenia Faktem jest, że mogę używać dowolnego alfabetu do kodowania danych.
Mogę więc powiedzieć, że to 9, lub mogę powiedzieć, że ↑ ↑ ↑ ↓ ↑ ↑ ↓ wynosi 9. To nie ma znaczenia, ponieważ są to tylko symbole, które możemy rozróżnić.
Sztuka polega na tym, że wystarczy plik binarny. Dowolną sekwencję bitów można interpretować jako liczbę, dzięki czemu można konwertować dane binarne na dowolny inny system i odwrotnie.
Ale okazuje się, że jedno uncja też wystarczy. Możesz zakodować 9 jako 111111111. Nie jest to szczególnie wydajne, ale ma tę samą moc obliczeniową.
Sprawy stają się jeszcze bardziej szalone, gdy spojrzysz na alternatywne modele obliczeń, takie jak rachunek Lambda. Tutaj możesz przeglądać liczby jako funkcje. W rzeczywistości możesz zobaczyć wszystko jako funkcje. Rzeczy są kodowane nie jako bity, 0 i 1, ale jako zamknięte funkcje matematyczne bez stanu zmiennego. Zobacz cyfry Kościoła, aby dowiedzieć się, jak możesz robić liczby w ten sposób.
Chodzi o to, że 0 i 1 to kwestia całkowicie sprzętowa, a wybór jest dowolny. To, jakiego kodowania używasz, nie ma szczególnego znaczenia w informatyce, poza kilkoma dziedzinami takimi jak systemy operacyjne lub sieci.
Kilka innych rzeczy do rozważenia:
Istnieje pewna prawda, że łatwiej jest zaimplementować logikę cyfrową, jeśli musimy rozróżnić tylko dwa stany. Sygnały elektryczne są analogowe i jako takie mogą być interpretowane jako reprezentujące tyle dyskretnych stanów, ile chcesz ... ale potrzebujesz bardziej precyzyjnego (stąd kosztownego i wybrednego) sprzętu, aby niezawodnie rozróżnić więcej stanów w tym samym zakresie. Sugeruje to wybranie możliwie najniższej bazy.
Jednym z głównych powodów, dla których większość obwodów komputerowych wykorzystuje dwa stany, jest to, że ilość obwodów niezbędnych do rozróżnienia n różnych poziomów napięcia jest w przybliżeniu proporcjonalna do n -1. W związku z tym posiadanie trzech dostrzegalnych stanów wymagałoby dwa razy więcej obwodów na sygnał, a posiadanie czterech wymagałoby trzy razy więcej. Potrojenie ilości obwodów przy jednoczesnym podwojeniu ilości informacji oznaczałoby spadek wydajności.
Należy pamiętać, że w komputerach są miejsca, w których informacje są przechowywane lub przekazywane przy użyciu więcej niż dwóch stanów na element. W macierzy pamięci flash setki lub tysiące komórek pamięci może być obsługiwanych przez jeden zestaw obwodów wykrywających poziom. Użycie czterech poziomów na komórkę zamiast dwóch przy przechowywaniu pewnej ilości informacji może więcej niż potroić rozmiar obwodu wykrywającego poziom, ale zmniejszy o połowę wymaganą liczbę komórek pamięci. Podczas komunikowania się za pośrednictwem sieci Ethernet o 100 stacjach bazowych lub wyższej, koszt zespołu obwodów niezbędnych do wykrycia wielu poziomów sygnału na kablu będzie prawdopodobnie niższy niż koszt konieczności użycia kabla z większą liczbą przewodów lub użycia kabli, które mogą obsłużyć więcej przejścia sygnału na sekundę bez niedopuszczalnego poziomu zniekształceń.
W laboratoriach badawczych istnieją komputery kwantowe, które wykorzystują q-bit jako podstawową jednostkę informacji, która może wynosić jednocześnie 0 i 1.
http://en.wikipedia.org/wiki/Quantum_computer
Istnieją również trójskładnikowe komputery kwantowe zbudowane zgodnie z tym odnośnikiem http://en.wikipedia.org/wiki/Ternary_computer
Tak więc rzeczywiście można zbudować alternatywne urządzenia obliczeniowe, które nie opierają się na systemie liczb binarnych. Na przykład systemy światłowodowe wykorzystują 0 do ciemności i dwie różne ortoganalne polaryzacje światła jako 1 i -1.
Powodem, dla którego wspominam o tych rzeczach, jest to, że chcę pokazać, że chociaż liczby binarne są wystarczające do obliczeń, istnieją alternatywne systemy liczbowe, których można użyć do obliczeń.
The binary number system is nice in these sense we can encode all integers by using radix representation of numbers. http:// en.wikipedia.org/wiki/Radix These values can represent the ASCII code A=0x41=01000001, or the value could represent a machine instruction nop=0x90=0x10010000.
At the heart of the digital computers processing power is a transistor, which works like a switch. By raising the current at at the "gate" of the switch, it allows current to flow between the "collector" and "emitter" - the switch is turned on. The transistor will be designed to operate in one of two modes - fully on or fully off ('saturated') - with a clear division of what those states are. The transistor can switch between the two states quickly, will remain in the state with very limited errors.
This circuitry forms the basis for logic devices, such AND, NAND, OR, XOR and other functions. The NAND function being the most basic of the building blocks. These logic devices are assembled to provide processors which remain in a predictable state, and lots of transistors can be packed in a small space to provide the functionality needed.
A transistor can manage multiple, or varying states, but when operating in that manner they do not produce conventional "digital" computers - they do not tend to stay in a predictable state and they are prone to interference, saturation, osculation, etc - so they have limited applications in terms of computational abilities. Op-amps could be considered analog computers.
We only use binary(1,0) because we currently do not have the technology to create "switches" that can reliably hold more than two possible states. (Quantum computers aren't exactly on sale at the moment.) The binary system was chosen only because it is quite easy to distinguish the presence of an electric current from an absense of electric current, especially when working with trillions of such connections. And using any other number base in this system ridiculous, because the system would need to constantly convert between them. That's all there is to it.