B naar GiB omrekenen

B
9,31322574615e-10GiB

1 B = 9,31322574615e-10 GiB

Tik een waarde in en de omrekening van byte naar gibibyte loopt mee terwijl je typt. De factor is precies 9,31322574615e-10: zoveel GiB komt er op 1 B. De berekening gebeurt op je eigen apparaat; na het laden vraagt deze pagina geen server meer iets.

  • Waar het draait In je browser. Het getal dat je intikt komt nooit in een verzoek terecht.
  • Exact per definitie 1 B is precies 9,31322574615e-10 GiB — een definitie, geen afgeronde factor.
  • Antwoordt terwijl je typt Geen knop, geen wachten. Het antwoord staat al op de pagina voordat er een script draait.

byte naar gibibyte in de praktijk

  • 5000000 B is 0,004657 GiB

    — een foto die met de telefoon is gemaakt.

  • 1024 B is 9,537e-7 GiB

    — een kibibyte, en daar begint de verwarring.

  • 17180000000 B is 16 GiB

    — het geheugen van een middenklasse laptop.

  • 999700000000 B is 931 GiB

    — wat Windows toont bij een schijf van een terabyte.

byte en gibibyte in één oogopslag

Elk getal in deze tabel is berekend uit dezelfde definitie als de rekenmachine gebruikt, dus de tabel kan niet afwijken van het antwoord hierboven.
BGiB
100000000,00931322574615
200000000,0186264514923
500000000,0465661287308
1000000000,0931322574615
5000000000,465661287308
10000000000,931322574615
50000000004,65661287308
100000000009,31322574615

byte en gibibyte

Een byte is acht bits, en dat stond niet altijd vast: de eerste computers gebruikten er zes, zeven of negen. Acht won omdat er een teken in past en omdat het getal netjes in helften uiteenvalt.

Een gibibyte is 1.073.741.824 bytes, ongeveer 7 % meer dan een gigabyte. Windows meet in gibibytes maar noemt ze «GB», en daarin zit het hele raadsel van de verdwenen ruimte.

Er gaan 1.073.741.824 bytes in één gibibyte

Deze kant op is het een deling, en wel door een heel getal: er gaan er 1.073.741.824 in één gibibyte, zonder rest. Het enige lastige is dat de uitkomsten in breuken vallen — een derde, een twaalfde — in plaats van de ronde getallen die de andere richting geeft.

Er gaat toch niets verloren, want de deling is exact. Wil je uitkomst als decimaal niet stil blijven staan — 0,0833… en familie —, dan is dat de breuk die doorschemert, geen fout die binnensluipt.

GiB is de binaire eenheid

Eén GiB is 1.024 van de eenheid eronder; één GB is 1.000. Op deze pagina is dat het verschil tussen 1073741824 B en 1000000000 B — 7,4 % — en het gat groeit bij elke stap omhoog: op een foto een verwaarloosbare afronding, op een harde schijf een zichtbaar stuk.

Hierin zit het raadsel van de verdwenen opslag volledig. Een schijf die als terabyte verkocht wordt bevat in decimale eenheden precies wat erop staat; Windows telt hem daarna in binaire eenheden maar houdt de decimale naam aan, en daar krimpt het getal zonder dat er iets weg is. macOS telt deze eenheden sinds 10.6 decimaal, en daarom kan dezelfde schijf op twee computers twee maten lijken.

Een ruwe bytetelling laat geen ruimte voor onenigheid

Software geeft groottes in bytes met een reden: een bytetelling heeft geen prefix om te interpreteren, geen afronding om ongedaan te maken en geen landinstelling erin, dus een metrics-scrape, een logregel en een API-respons zijn onderling te vergelijken zonder dat iedereen het eerst eens hoeft te worden over wat een G betekent. Precies die eigenschap maakt de getallen onleesbaar: 17.179.869.184 zegt niets totdat het door iets gedeeld is.

De juiste deler is 1.073.741.824 wanneer het omringende systeem binair rekent, wat voor geheugen, pagecache, bestandssysteemgebruik en de meeste besturingssysteemtellers het geval is. Dat cijfer geeft precies 16 GiB. Delen door een miljard in plaats daarvan geeft 17,18 en verbergt dat het getal een schone macht van twee was.

De orde van grootte aflezen aan het aantal cijfers

Tel voordat je iets omrekent de cijfers. Tien cijfers plaatst een getal tussen 0,93 en 9,3 GiB, elf tussen 9,3 en 93, twaalf tussen 93 en 931, en dertien cijfers komt uit rond een tebibyte. Die ene blik beantwoordt de meeste vragen die een bytetelling oproept — of een cache megabytes of gigabytes is — zonder enige rekensom.

Die gewoonte betaalt zich vooral uit bij uitvoer die schalen mengt. Een metrics-endpoint dat een dozijn bytetellers teruggeeft, heeft sommige in de miljoenen en andere in de miljarden, en het oog sorteert ze sneller op lengte dan op waarde.

Bytetellingen herkennen die machten van twee zijn

Sommige getallen zijn op het zien af te herkennen omdat ze zichzelf aankondigen. 1.073.741.824 is een gibibyte, 2.147.483.648 zijn er twee, 4.294.967.296 vier, 8.589.934.592 acht. Verschijnt zo’n getal in een uitvoer, dan is het bijna altijd een capaciteit of een limiet in plaats van een meting, want metingen komen zelden exact op een macht van twee uit.

Het omgekeerde geldt evengoed. Een bytetelling die eindigt op een lange reeks nullen — 1.000.000.000, 50.000.000.000 — is getypt door een mens of afgeleid van een decimaal cijfer, en komt niet overeen met iets dat de hardware vanzelf doet.

Waar een grote bytetelling zijn precisie verliest

Talen die alle getallen als double-precision floats opslaan, houden gehele getallen exact tot 9.007.199.254.740.991, ofwel 2⁵³ min één, ongeveer 8 PiB. Onder dat plafond is een bytetelling veilig; erboven rondt de waarde stilzwijgend af, en twee verschillende groottes kunnen als gelijk vergeleken worden zonder dat er een fout gemeld wordt.

De meeste systemen komen daar nooit, en de systemen die dat wel doen, doen het meestal in totalen — een som over een machinepark, een levenslange transferteller — eerder dan per bestand. De bescherming is bytetellingen in 64-bit gehele getallen of strings te bewaren over een serialisatiegrens heen.

Bytes terughalen uit tools die liever afronden

De meeste hulpmiddelen hebben een modus die hun leesbare opmaak onderdrukt, en die is de moeite waard telkens wanneer de uitvoer ergens anders naartoe gaat dan een scherm. Schijfruimte-tools accepteren een blokgrootte van één, en object-storage-API’s geven een contentlengte in bytes standaard terug. Al die bronnen zijn verliesloos, iets wat een al opgemaakte 1,4 GiB niet is.

Het verlies is achteraf niet te herstellen. Een als 1,4 GiB getoond cijfer kan van alles zijn tussen 1.449.551.462 en 1.556.925.644 bytes, een spreiding van ruim 100 MB, en geen vermenigvuldiging vernauwt die onzekerheid.

De eenheid van een dashboard kiezen

De regel die de meeste discussies vermijdt, is weergeven in de eenheid waarin het gemeten systeem zelf telt. Geheugen, pagecache en bestandssysteemgebruik zijn binair, dus een grafiek daarvan hoort in GiB. Object-storage-totalen en al wat op een factuur staat, zijn decimaal, dus die horen in GB.

Welke eenheid ook gekozen wordt, het aslabel moet zeggen welke het is. Een geheugengrafiek gelabeld als GB terwijl hij deelt door 2³⁰, herhaalt precies de fout die Windows maakt, op een plek waar iemand het ooit vergelijkt met een decimaal cijfer op een rekening.

Bytetellingen uit verschillende bronnen zijn niet altijd dezelfde meting

Twee tools kunnen allebei exacte bytetellingen geven en toch van mening verschillen, omdat ze verschillende dingen tellen. Een bestandslengte is niet de ruimte die het inneemt, een opgeslagen grootte is niet een overgedragen grootte zodra compressie in het spel is. Omzetten naar gibibytes maakt ze visueel vergelijkbaar zonder ze dat echt te maken.

Wat helpt, is bij het cijfer noteren wat het meet. Een metriek genoemd naar zijn eenheid maar niet naar zijn onderwerp — bytes, size, total — wordt vroeg of laat opgeteld bij iets anders dat iets anders betekende.

Een omrekening controleren door terug te vermenigvuldigen

De goedkoopste controle is de bewerking omkeren. Neem het gibibyte-cijfer, vermenigvuldig met 1.073.741.824 en vergelijk met de oorspronkelijke cijferreeks. Wijkt het resultaat ongeveer zeven procent af, dan was de deler een miljard in plaats van 2³⁰; is het een factor 1.024 verkeerd, dan is er ergens een prefix overgeslagen.

Zit een omzetting ingebakken in code in plaats van met de hand gedaan te worden, dan hoort dezelfde controle in een test met een bekend paar: 5.368.709.120 bytes is 5 GiB, en elke implementatie die 5,37 oplevert, gebruikte de decimale deler.

B naar GiB omrekenen: veelgestelde vragen

Hoeveel is 1 B in GiB?

1 B is 9,31322574615e-10 GiB. De waarde is exact en niet afgerond: de verhouding tussen byte en gibibyte ligt per definitie vast.

Wordt wat ik intik ergens heen gestuurd?

Nee. De berekening gebeurt in je browser. Je kunt de verbinding verbreken en gewoon doorrekenen, en dat is meteen de eenvoudigste manier om het na te gaan.

Waarom toont mijn schijf minder ruimte dan erop staat?

Omdat twee verschillende eenheden dezelfde naam dragen. Fabrikanten rekenen 1 GB = 1.000.000.000 bytes; Windows toont gibibytes, dus 1.073.741.824 bytes, maar noemt ze «GB». Dezelfde schijf lijkt daardoor zeven procent kleiner. Er is niets verdwenen.

Andersom: gibibyte naar byte

Eén GiB is 1073740000 B. Het is dezelfde verhouding achterstevoren gelezen, dus een uitkomst van de ene pagina die je door de andere haalt, moet weer uitkomen waar hij begon.

Waar deze cijfers vandaan komen

Wat deze pagina over informatie-eenheden beweert, is na te gaan, en dit zijn de documenten die de zaak beslechten.

Hoe deze pagina werkt

De factor is een constante op de pagina en de som is vier bewerkingen, dus er gaat niets ergens heen en er hoeft ook niets heen. Het getal dat je intikt verlaat de browser niet — er is geen verzoek waarin het zou kunnen meereizen.