Før du kan forstå detaljene om hvordan IP adressering av verk, må du forstå hvordan binær nummereringssystemet fungerer fordi binær er grunnlaget for IP-adressering.
Binær er et tellingsystem som bare bruker to tall: 0 og 1. I desimalsystemet (som de fleste er vant til) bruker du 10 tall: 0-9. I et vanlig desimalnummer - for eksempel 3, 482 - representerer høyre siffer de; neste siffer til venstre, titalls; den neste, hundrevis; de neste tusen; og så videre.
Disse tallene representerer 10-tonn: første 10 0 (som er 1); neste, 10 1 (10); da 10 2 (100); deretter 10 3 (1 000); og så videre. I binær har du bare to tall i stedet for ti. Derfor ser binære tall noe monotont ut, som i 110011, 101111 og 100001.
Posisjonene i et binært tall (kalt bits i stedet for siffer) representerer krefter på to i stedet for tonnekrefter: 1, 2, 4, 8, 16, 32 osv. For å finne desimalverdien av et binært tall, multipliserer du hver bit med den tilsvarende effekten til to og deretter legger du til resultatene. Desimalverdien av binær 10111, for eksempel, beregnes som følger:
1 × 20 = 1 × 1 = 1 + 1 × 21 = 1 × 2 = 2 + 1 × 22 = 1 × 4 = 4 + 0 × 23 = 0 × 8 = 0 + 1 × 24 = 1 × 16 = _16 23
Heldigvis konverterer du et tall mellom binær og desimal er noe en datamaskin er god til - så godt at du ikke sannsynligvis trenger å gjøre noen konverteringer selv. I stedet er poenget å ha en grunnleggende forståelse av hvordan datamaskiner lagrer informasjon og - viktigst - for å forstå hvordan det binære tellingsystemet fungerer.
Her er noen av de mer interessante egenskapene til binær og hvordan systemet ligner og avviger fra desimalsystemet:
-
I desimal bestemmer antall desimaler som er tildelt for et tall hvordan stort antall kan være. Hvis du tildelte seks sifre, er det største mulige tall 999, 999. Fordi 0 er et tall, kan et sekssifret tall imidlertid ha 1 million forskjellige verdier.
På samme måte bestemmer antall biter som er tildelt for et binært tall hvor stort tallet kan være. Hvis du tildelte åtte biter, kan den største verdien som nummeret lagres, være 11111111, som er 255 i desimal.
-
For å raskt finne ut hvor mange forskjellige verdier du kan lagre i et binært tall av en gitt lengde, bruk antall biter som en eksponent på to. Et åtte-bits binært nummer kan for eksempel holde 2 8 verdier.Fordi 2 8 er 256, kan et åtte-bits tall ha noen av 256 forskjellige verdier. Det er derfor en byte - åtte biter - kan ha 256 forskjellige verdier.
-
Dette & ldquo; krefter av to & rdquo; saken er hvorfor datamaskiner ikke bruker fine, jevne runde tall i å måle slike verdier som minne eller diskplass. En verdi på 1K, for eksempel, er ikke en jevn 1 000 byte: Det er faktisk 1, 024 byte fordi 1, 024 er 2 10 . På samme måte er 1MB ikke en jevn 1, 000, 000 bytes, men i stedet 1, 048, 576 byte, som er 2 20 .
En grunnleggende test av datamaskinen nerd-dom er å kjenne dine krefter på to fordi de spiller en så viktig rolle i binære tall. Bare for moro skyld, men ikke fordi du virkelig trenger å vite, viser tabellen nedenfor kreftene til to opptil 32.
Kraft | Byte | Kilobytes | Kraft | Byte | K, MB eller GB |
---|---|---|---|---|---|
2 1 | 2 | 2 17 | 131, 072 | 128K | |
2 2 | 4 | 2 18 | 262, 144 | 256K | |
2 3 | 8 | 2 19 | 524, 288 < 512K | 2 | |
4 16 | 2 | 20 1, 048, 576 | 1MB | 2 | |
5 32 | 2 | 21 2, 097, 152 | 2MB | 2 | |
6 64 | 2 | 22 4, 194, 304 | 4MB < 2 | 7 | |
128 2 | 23 | 8, 388, 608 8MB | 2 | 8 | |
256 2 | 24 | 16, 777, 216 16MB | 2 | 9 | |
512 2 | 25 | 33, 554, 432 32MB | 2 < 10 | 1, 024 | |
1K 2 | 26 | 67, 108, 864 | 64MB 2 | 11 | 2, 048 |
2K 2 | 27 | 134, 217, 728 | 128MB 2 | 12 | 4, 096 |
4K 2 | 28 | 268, 435, 456 | 29 2 | 13 | 8, 192 |
8K 2 | 29 | 536, 870, 912 | 512MB 2 <9 99> 14 | 16, 384 | 16K |
2 30 | 1, 073, 741, 824 | 1GB | 2 15 | 32, 768 < 32K | 2 |
31 2, 147, 483, 648 | 2GB | 2 | 16 65, 536 | 64K | 2 |
32 4, 294, 967, 296 | 4GB |