Binary er et base 2 nummer system. Base 2 betyr at det bare er to sifre-1 og 0-som samsvarer med på og av tilstandene datamaskinen din kan forstå. Du er sikkert kjent med base 10-desimalsystemet. Decimal bruker ti sifre som varierer fra 0 til 9, og pakkes rundt for å danne tos sifre tall, idet hvert siffer er verdt ti ganger mer enn det siste (1, 10, 100, etc.). Binær er lik, idet hvert siffer er verdt to ganger mer enn det siste.
Teller i binær
1111 (in binary) = 8 + 4 + 2 + 1 = 15 (in decimal)
Regnskap for 0 gir oss 16 mulige verdier for fire binære biter. Flytt til 8 biter, og du har 256 mulige verdier. Dette tar opp mye mer plass til å representere, da fire sifre i desimal gir oss 10.000 mulige verdier. Det kan virke som om vi går gjennom alle disse problemene med å gjenoppfinne vårt tellingsystem bare for å gjøre det clunkier, men datamaskiner forstår binær mye bedre enn de forstår desimal. Visst, binært tar opp mer plass, men vi holdes tilbake av maskinvaren. Og for noen ting, som logikkbehandling, binær er bedre enn desimal.
Det er et annet basissystem som også brukes i programmering: heksadesimal. Selv om datamaskiner ikke kjører på heksadesimale, bruker programmører det til å representere binære adresser i et menneskelig lesbart format når de skriver kode. Dette skyldes at to siffer i heksadesimale kan representere en hel byte, åtte sifre i binær. Hexadecimal bruker 0-9 som desimal, og også bokstavene A til F for å representere de ytterligere seks sifrene.
Så hvorfor bruker datamaskiner binær?
Det korte svaret: maskinvare og fysikkloven. Hvert nummer i datamaskinen er et elektrisk signal, og i de tidlige dagene av databehandling var elektriske signaler mye vanskeligere å måle og kontrollere veldig nøyaktig. Det var mer sanselig å bare skille mellom en "on" state-representert av negativ ladning og en "off" stat-representert av en positiv ladning. For de som er usikre på hvorfor "off" representeres av en positiv ladning, er det fordi elektroner har en negativ ladning, flere elektroner betyr mer strøm med negativ ladning.
Så de tidlige romstørrelsen brukte datamaskiner binære til å bygge sine systemer, og selv om de brukte mye eldre, større maskinvare, har vi holdt de samme grunnleggende prinsippene. Moderne datamaskiner bruker det som er kjent som en transistor for å utføre beregninger med binær. Her er et diagram over hvordan en felt-effekt transistor (FET) ser ut som:
Men hvorfor bare base 2?
Så du kan tenke, "hvorfor bare 0 og 1? Kunne du ikke bare legge til et annet siffer? "Mens noe av det kommer ned på tradisjonen i hvordan datamaskiner er bygget, ville å legge til et annet siffer bety at vi måtte skille mellom ulike nivåer av nåværende, ikke bare" av "og" på ", "Men også stater som" på litt "og" på mye."
Problemet her er at hvis du vil bruke flere spenningsnivåer, trenger du en måte å enkelt utføre beregninger med, og maskinvaren for det er ikke levedyktig som erstatning for binær databehandling. Det eksisterer faktisk; det kalles en ternær datamaskin, og den har eksistert siden 1950-tallet, men det er ganske mye der utviklingen på den stoppet. Ternær logikk er langt mer effektiv enn binær, men ingen har en effektiv erstatning for binær transistoren, eller i det minste er det ikke gjort noe arbeid på å utvikle dem på de samme små skalaene som binære.
Grunnen til at vi ikke kan bruke ternær logikk kommer ned til måten transistorer stables på i en datamaskin-noe som kalles "porte" -og hvordan de er vant til å utføre matte. Gates tar to innganger, utfører en operasjon på dem, og returnerer en utgang.
Hvem vet? I fremtiden kan vi begynne å se at ternære datamaskiner blir en ting, da vi skyver grensene for binær ned til et molekylært nivå. For nå, vil verden fortsette å kjøre på binær.
Bildekreditter: spainter_vfx / Shutterstock, Wikipedia, Wikipedia, Wikipedia, Wikipedia