Hva er binært? [Teknologi forklart]

Hva er binært? [Teknologi forklart] / Teknologi forklart

Gitt at binær er så helt grunnleggende for at det eksisterer datamaskiner, virker det merkelig at vi aldri har taklet emnet før - så i dag ville jeg tro at jeg ville gi en kort oversikt over hva binært egentlig betyr og hvordan det brukes i datamaskiner . Hvis du alltid har lurt på hva forskjellen er mellom 8-bit, 32-bit, og 64-bit virkelig er, og hvorfor det betyr noe - les så videre!

Hva er binært? Forskjellen mellom Base 10 og Base 2

De fleste av oss har vokst opp i en base 10 verden av tall, som jeg mener vi har 10 'utgangspunkt' tall (0-9) hvorfra vi utlede alle andre tall. Når vi har utmattet dem, beveger vi oss opp på enhetsnivå - 10-tallet, 100-tallet, 1000-tallet - denne form for teller er hamret i hjernen vår fra fødselen. Faktisk var det bare fra den romerske perioden som vi begynte å telle i base 10. Før det var base 12 det enkleste, og folk brukte sine knokler til å telle.

Når vi lærer base 10 i grunnskolen, skriver vi ofte ut enhetene slik:

Så tallet 1990 egentlig består av 1 x 1000, 9 x 100, 9 x 10, og 0 x 1. Jeg er sikker på at jeg ikke trenger å forklare base 10 lenger enn det.

Men hva om i stedet for å ha et komplett utvalg av 0,1,2,3,4,5,6,7,8,9 å jobbe med som base nummer - hva om vi bare hadde 0, og 1. Dette kalles base 2; og det er også ofte referert til som binær. I en binær verden kan du bare telle 0,1 - så må du flytte til neste enhetsnivå.

Teller i binær

Det hjelper utrolig hvis vi skriver ut enhetene når de lærer binær. I dette tilfellet, i stedet for at hver ekstra enhet blir multiplisert med 10, blir den multiplisert med 2, og gir oss 1,2,4,8,16,32,64... Så for å hjelpe beregne, kan vi skrive dem ut som dette:

Med andre ord representerer høyest verdi i et binært tall hvor mange 1 er. Det neste tallet, til venstre for det, representerer hvor mange 2 er. Den neste representerer hvor mange 4 er ... og så.

Med den kunnskapen kan vi skrive ut et bord med telling i binær, med tilsvarende basisverdien 10 angitt til venstre.

Tilbring et øyeblikk over det til du kan se nøyaktig hvorfor 25 er skrevet som 11001. Du burde kunne bryte ned som 16 + 8 + 1 = 25.

Arbeider bakover - base 10 til binær

Du bør nå kunne finne ut hvilken verdi et binært tall har ved å tegne et lignende bord og multiplisere hver enhet. Å bytte en vanlig base 10 nummer til binær tar litt mer innsats. Det første trinnet er å finne den største binære enheten som “passer inn i” tallet. Så for eksempel, hvis vi gjorde 35, så er det største nummeret fra det bordet som passer inn i 35, 32, så vi vil ha en 1 der i den kolonnen. Vi har da en rest på 3 - som vil trenge en 2, og så til slutt en 1. Så får vi 100011.

8-bits, byte og oktetter

Tabellen jeg har vist ovenfor er 8-bit, fordi vi har maksimalt 8 nuller og de som skal brukes til vårt binære nummer. Dermed er det maksimale antallet vi muligens kan representere 11111111, eller 255. Det er derfor for å representere et tall fra 0-255, Vi trenger minst 8 bits. Octet og Byte er ganske enkelt en annen måte å si 8-bits. Derfor 1 byte = 8 biter.

32 vs 64-biters databehandling

I dag hører du ofte vilkårene 32-biters og 64-biters versjoner av Windows, og du kan kanskje vite at 32-biters Windows kun kan støtte opptil 4 gigabyte RAM. Hvorfor er det skjønt?

Alt kommer til minneadressering. Hver bit av minne trenger en unik adresse for å få tilgang til den. Hvis vi hadde en 8-bit minne adressering system, ville vi bare kunne ha maksimalt 256 byte av minnet. Med en 32-bit minneadressesystem (forestill deg å forlenge tabellen over for å ha 32 binære enhetskolonner), kan vi gå hvor som helst opp til 4294967296 ? 4 milliarder byte, eller med andre ord - 4 GIGAbyte. 64-bit databehandling fjerner hovedsakelig denne grensen ved å gi oss opp til 18 kvintillion forskjellige adresser - et nummer de fleste av oss bare ikke kan forstå.

IPv4-adressering

Den siste bekymringen i databehandlingsverdenen handler om IP-adresser IPv6 og kommende ARPAgeddon [Teknologi forklart] IPv6 og kommende ARPAgeddon [Teknologi forklart] Les mer, spesielt IPv4 adresser, som disse:

  • 192.168.0.1
  • 200.187.54.22

De består egentlig av 4 tall, hver representerende en verdi på opptil 255. Kan du gjette hvorfor? Ja, hele adressen er representert av 4 oktetter (32 biter totalt). Dette virket som en forferdelig masse mulige adresser (faktisk rundt 4 milliarder kroner) da internett ble først oppfunnet, men vi løper fort nå, da alt i livet vårt må kobles sammen. For å løse dette, bruker den nye IPv6 128 bits totalt, noe som gir oss omtrent 340 undecillion (sett 38 nuller på slutten) adresser å spille med.

Jeg kommer til å legge det der for i dag, så jeg kan komme tilbake til mitt opprinnelige mål som skulle skrive neste Arduino-veiledning - der vi gjør mye bruk av et bitskiftregister. Jeg håper i dag har gitt deg en grunnleggende forståelse av hvordan binær er så viktig for datamaskiner, hvorfor de samme tallene fortsatt vises, og hvorfor antall biter vi må representere noe plasserer en begrenset grense på mengden minne, skjermstørrelse, mulig farge verdier eller unike IP-adresser tilgjengelig for oss. Neste gang vil vi se på binære logiske beregninger, som er ganske mye alt en datamaskinprosessor gjør, så vel hvordan datamaskiner kan representere negative tall.

Kommentarer? Forvirring? Fandt du min forklaring lett å forstå? Uansett, ta kontakt i kommentarene. Jeg skal forlate deg med en binær vits!

Det er bare 10 typer mennesker i verden: de som forstår binær, og de som ikke gjør det.

Bilde kreditt: Shutterstock