En datamaskin opererer grunnleggende sett med kun to verdier, 0 og 1, fordi disse to verdiene kan enkelt representeres elektronisk - med en kapasitor med/uten ladning (RAM, SSD). Eller en magnet polarisert nord-sør/sør-nord (harddisk).
Antall "bits" betegner en datamengde. Verdien på en kapasitor (0 eller 1) opptar 1 bit. 1 bit er den minste datamengden. En datamaskin er dermed basert på totallsystemet, med base 2 (det binære tallsystemet). Vårt vanlige titallsystem har base 10 og kalles det desimale tallsystemet.
Man har valgt den grunnleggende enheten byte, bestående av 8 bits, blant annet fordi det er enkelt å representere skriftlig: 1 byte kan representeres av et to-siffret hexadesimalt-tall (base 16). For mennesker er det lettere og mer kompakt å lese to-sifrede hex-tall enn 8-sifrede binærtall.
Slike grunnleggende forhold gjør at det blir naturlig å konstruere RAM med lagringskapasitet i runde tall i totallsystemet. I titallsystemet er 10^6 = 1 000 000 et rundt tall. I totallsystemet er 2^6=64 et rundt tall. Allikevel har man adoptert samme prefikser som for titallsystemet (kilo, mega, giga, osv). Resultatet er unøyaktigheter, og forvirring.
En kilobyte er per definisjon 1000 byte (10^3). Allikevel benyttes betegnelsen kilobyte selv om man snakker om 1024 byte (2^10). Man burde istedet innført betegnelsen 1 kibibyte = 1024 byte.
En megabyte er per definisjon 1 000 000 byte (10^6). Ofte viser 1 megabyte seg å være 1024*1024=2^20=1 048 576 byte. Bedre: 1 mibibyte.
En gigabyte er per definisjon 1 000 000 000 byte (10^9). Ofte viser 1 gigabyte seg å være 1024*1024*1024=2^30=1 073 741 824 byte. Dvs 1 gibibyte!
En RAM-brikke på 1 gigabyte kan altså lagre litt mer enn annonsert.
En enkel demonstrasjon av kilobyte vs kibibyte kan gjøres i Windows 10 ved å lage to små tekstfiler. Et ASCII-tegn opptar 1 byte. Vi legger først inn 1023 tegn og lagrer filen, se Fig. 1 og Fig. 2. Så legger vi til ett tegn til, og filen blir 1024 byte stor, se Fig. 3 og Fig. 4. I Fig. 4 er filstørrelsen angitt som 1KB, eller 1024 byte. Windows 10 angir altså filstørrelser i kibibyte og ikke i kilobyte. I Windows 10 er 1 KB lik 1 kibibyte og ikke 1 kilobyte.
Fig. 1: Skjermbilde av en Windows tekst-fil på 1023 byte, åpnet i Notepad.
Fig. 2: Windows-egenskapene til en fil på 1023 byte. Dette er 1 byte mindre enn 1 kibibyte.
Fig. 3: Skjermbilde av en Windows tekst-fil på 1024 byte, åpnet i Notepad. Det er enkelt å se at filen inneholder 1 ASCII-tegn mer enn filen i Fig. 1.
Fig. 4: Windows-egenskapene til en fil på 1024 byte. Her er 1KB lik 1024 bytes, altså 1 kibibyte. Og ikke 1 kilobyte.
Man kan lure på hvorfor datamaskiner er basert på binærtall. Et bedre spørsmål er kanskje hvorfor menneskene begynte med et titallsystem.
A fractal is a natural phenomenon or a mathematical set that exhibits a repeating pattern that displays at every scale. (Wikipedia, Fractal)
Is under tilfrysning danner en 2-dimensjonal fraktal. Et grantre er en 3-dimensjonal fraktal. Fordi forskjellige naturlige fenomener viser samme form - har denne formen minimum energi?