Hva er binært, og hvorfor bruker datamaskiner det?

Innholdsfortegnelse:

Hva er binært, og hvorfor bruker datamaskiner det?
Hva er binært, og hvorfor bruker datamaskiner det?

Video: Hva er binært, og hvorfor bruker datamaskiner det?

Video: Hva er binært, og hvorfor bruker datamaskiner det?
Video: Uncover the 5 Essential Tools You Didn't Know You Needed! #woodworking #amazingtools - YouTube 2024, November
Anonim
Datamaskiner forstår ikke ord eller tall som menneskene gjør. Moderne programvare gjør det mulig for sluttbrukeren å ignorere dette, men på de laveste nivåene av datamaskinen din, er alt representert av et binært elektrisk signal som registrerer i ett av to tilstander: på eller av. For å få mening om kompliserte data, må datamaskinen kodes i binær.
Datamaskiner forstår ikke ord eller tall som menneskene gjør. Moderne programvare gjør det mulig for sluttbrukeren å ignorere dette, men på de laveste nivåene av datamaskinen din, er alt representert av et binært elektrisk signal som registrerer i ett av to tilstander: på eller av. For å få mening om kompliserte data, må datamaskinen kodes i binær.

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

I binær er det første sifferet verdt 1 i desimal. Det andre sifferet er verdt 2, den tredje verdien 4, den fjerde verdien 8, og så videre-dobling hver gang. Hvis du legger til disse opp, gir du nummeret i desimal. Så,
I binær er det første sifferet verdt 1 i desimal. Det andre sifferet er verdt 2, den tredje verdien 4, den fjerde verdien 8, og så videre-dobling hver gang. Hvis du legger til disse opp, gir du nummeret i desimal. Så,

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:

I hovedsak tillater det bare strømmen fra kilden til avløpet hvis det er strøm i porten. Dette danner en binær bryter. Produsenter kan bygge disse transistorene utrolig små helt ned til 5 nanometer, eller om størrelsen på to tråder av DNA. Dette er hvordan moderne CPUer opererer, og selv de kan lider av problemer som skiller mellom på og av stater (selv om det hovedsakelig skyldes deres uvirkelige molekylstørrelse, er underlagt kvelden av kvantemekanikken).
I hovedsak tillater det bare strømmen fra kilden til avløpet hvis det er strøm i porten. Dette danner en binær bryter. Produsenter kan bygge disse transistorene utrolig små helt ned til 5 nanometer, eller om størrelsen på to tråder av DNA. Dette er hvordan moderne CPUer opererer, og selv de kan lider av problemer som skiller mellom på og av stater (selv om det hovedsakelig skyldes deres uvirkelige molekylstørrelse, er underlagt kvelden av kvantemekanikken).

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.

Dette bringer oss til det lange svaret: binær matte er enklere for en datamaskin enn noe annet. Boolsk logikk kartlegger lett til binære systemer, med True og False blir representert av og av. Gates i datamaskinen din opererer på boolsk logikk: de tar to innganger og utfører en operasjon på dem som AND, OR, XOR, og så videre. To innganger er lette å håndtere.Hvis du skulle tegne svarene for hver mulig inngang, ville du ha det som er kjent som et sannhetstabell:
Dette bringer oss til det lange svaret: binær matte er enklere for en datamaskin enn noe annet. Boolsk logikk kartlegger lett til binære systemer, med True og False blir representert av og av. Gates i datamaskinen din opererer på boolsk logikk: de tar to innganger og utfører en operasjon på dem som AND, OR, XOR, og så videre. To innganger er lette å håndtere.Hvis du skulle tegne svarene for hver mulig inngang, ville du ha det som er kjent som et sannhetstabell:
En binær sannhetstabel som opererer på boolsk logikk, vil ha fire mulige utganger for hver grunnleggende operasjon. Men fordi ternære portene tar tre innganger, ville et ternært sannhetstabell ha 9 eller flere. Mens et binært system har 16 mulige operatører (2 ^ 2 ^ 2), ville et ternært system ha 19 683 (3 ^ 3 ^ 3). Skalering blir et problem fordi mens ternær er mer effektiv, er det også eksponentielt mer komplekst.
En binær sannhetstabel som opererer på boolsk logikk, vil ha fire mulige utganger for hver grunnleggende operasjon. Men fordi ternære portene tar tre innganger, ville et ternært sannhetstabell ha 9 eller flere. Mens et binært system har 16 mulige operatører (2 ^ 2 ^ 2), ville et ternært system ha 19 683 (3 ^ 3 ^ 3). Skalering blir et problem fordi mens ternær er mer effektiv, er det også eksponentielt mer komplekst.

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

Anbefalt: