Konvertieren Sie Bytes in Gigabyte mit JavaScript
Haben Sie sich jemals gefragt, wie viele Bytes in einem Gigabyte stecken? Gigabyte ist eine häufig verwendete Maßeinheit. Gigabyte ist in unserer täglichen Welt weit verbreitet Dateigröße eines Films, die Kapazität einer Festplatte, sogar die Größe des Random Access Memory in unseren Laptops oder Mobiltelefonen alles, was wir mit Gigabyte darstellen. Alle Einheiten, die in diesen Fällen verwendet werden, um diese zu adressieren, sind in Gigabyte angegeben. Für die Umrechnung von Bytes in Gigabyte ist ein wenig Mathematik erforderlich. Es ist vergleichbar mit der Umrechnung von Metern in Kilometer. Lassen Sie uns sehen, wie wir die Konvertierung in JavaScript durchführen können. Es gibt einige Ansätze für die Konvertierung von Bytes in Gigabyte, die wie folgt sind.
- Konvertieren von Gigabyte in Byte in Dezimalbasis
- Konvertieren von Gigabyte in Byte in Binärbasis
Umwandeln in Dezimalbasis
Der häufigste Zweifel, der bei jedem auftritt, ist, ob ein Kilobyte-Wert 1024 Byte oder 1000 Byte beträgt. Bei der Suche in Google erhalten wir gemischte Antworten. Aber das zugrunde liegende Konzept ist einfach. In einem dezimalen Zahlensystem ist ein Kilobyte-Wert 1000
Bytes, während in einem binären Zahlensystem der Wert 1024
Bytes beträgt. Daher ändern sich die Konversionsparameter basierend auf dieser Ideologie.
Begründung für die Umrechnung mit Dezimalbasis
Bevor wir mit der Erklärung beginnen, schauen wir uns die wichtigsten Umrechnungseinheiten an. Da wir es mit einer dezimalen Zahlenbasis zu tun haben, verwenden wir das folgende Umrechnungsprinzip.
- 1 KiloByte = 1000 Byte
- 1 Megabyte = 1000 KiloByte
- 1 GigaByte = 1000 MegaByte
Also 1 GigaByte = 1000 * 1000 * 1000 Byte. Mit anderen Worten, ein GigaByte entspricht 10 hoch 9 (10^9) Bytes. Eine einfache Suche nach 1 GB
in Google liefert uns daher eine Darstellung wie 1e+9
. 1e+9
ist gleich 1
mit 9
Nullen. Das ist der Kern der Umrechnungsrechnung.
Umwandlungscode
Wir haben nun die Berechnung hinter den Umrechnungen und die verschiedenen Einheiten von Bytes verstanden. Lassen Sie uns schnell den JavaScript-Code durchgehen, um eine als Eingabe angegebene Zahl (Anzahl von Bytes) zu konvertieren. Der Code gibt den entsprechenden Gigabyte-Wert zurück und zeigt ihn auf dem Bildschirm an.
<h3><center>Byte to GB</center></h3>
<div>
<center>
<input type="text" id="bytes_input"><label>Bytes</label>
</center>
</div>
<div>
<center>
<button onclick="convertToGB()">Convert</button>
<button onclick="reset()">Reset</button>
</center>
</div>
<center>
<div>
<label>Result: </label> <label id="gbValue">0</label> GB
</div>
</center>
window.onload =
function() {
reset();
updateDisplay(0);
}
function convertToGB() {
let bytesValue = document.getElementById('bytes_input').value;
let gbValue = (bytesValue / (1000 * 1000 * 1000)).toFixed(2);
updateDisplay(gbValue);
}
function reset() {
document.getElementById('bytes_input').value = 0;
updateDisplay(0);
}
function updateDisplay(val) {
document.getElementById('gbValue').innerHTML = val;
}
Die Schritte sind wie folgt.
-
Wir entwerfen eine HTML-GUI, um die Anzahl der Bytes des Benutzers zu erfassen. Die GUI hat einen
Convert
- und einenReset
-Button. Wir binden die SchaltflächeConvert
an die FunktionconvertToGB()
, die den angegebenen Byte-Wert in Gigabyte umwandelt. Die SchaltflächeReset
ist mit der Funktionreset()
verbunden, um die Werte zurückzusetzen, damit der Benutzer versuchen kann, neuere Werte zu konvertieren. -
Die Ausführung des Codes beginnt mit der Funktion
window.onload()
. Die Funktionwindow.onload()
ist die erste, die beim Laden der Seite ausgeführt wird. In dieser Funktion setzen wir die Werte für das Input- und Output-Gigabyte auf 0 zurück. -
Sobald der Benutzer einen Byte-Wert eingibt und auf die Schaltfläche
Konvertieren
klickt, wird die FunktionconvertToGB()
ausgelöst. -
In der Funktion
convertToGB()
erfassen wir den vom Benutzer im Byte-Feld eingegebenen Wert mit der Funktiondocument.getElementById("bytes_input").value
von JavaScript und erfassen ihn imbytesValue
-Variable. Im nächsten Schritt wandeln wir diesen Byte-Wert in Gigabyte um, indem wir denbytesValue
durch(1000 * 1000 * 1000)
dividieren. Denken Sie daran, dass wir den Wert des Bytes durch 1000 teilen, um den Kilobyte-Wert zu erhalten. -
Wir führen diese Berechnungen durch und speichern das Ergebnis in der Variable
gbValue
. In der nächsten Zeile zeigen wir dengbValue
in der GUI an, indem wir denlabel
-Wert mitdocument.getElementById("gbValue").innerHTML
setzen. Daher wird der konvertierte Wert im HTML angezeigt.
Bemerkungen
- Im Wesentlichen benötigen wir ein Byte mit einem Wert mit mehr als sieben Stellen, um ein greifbares Gigabyte-Äquivalent dafür zu erhalten. Der minimale Ausgabewert beträgt
0.01 GB
, was in10000000 Bytes
umgerechnet wird. Das bedeutet, dass mit dem obigen Code ein Byte mit einem Wert größer als10000000 Bytes
in der Ausgabe angezeigt wird. Bei kleineren Werten wird0 GB
ausgegeben. - Die Anzahl der Ziffern, die eine Variable in JavaScript enthalten kann, ist begrenzt. JavaScript hat eine Konstante
Number.MAX_SAFE_INTEGER
, die den maximalen Wert definiert, den eine Zahlenvariable in JavaScript aufnehmen kann, nämlich9007199254740991
. Daher konvertiert der Code keine weitere Bytezahl in die Gigabyte-Darstellung. Wir können während der Konvertierung Genauigkeit verlieren. Wir empfehlen es nicht. - Gemäß dem oben gezeigten Code zeigt der Ausgabewert auf zwei Dezimalstellen gerundete Werte an. Wir verwenden die Funktion
Number.toFixed()
von JavaScript. Gemäß der Zeile(bytesValue / (1000 * 1000 * 1000)).toFixed(2)
werden 2 Dezimalstellen ausgegeben. Wenn wir den Gigabyte-Wert mit besserer Genauigkeit anzeigen, können wir den Code je nach Anforderung mit.toFixed(3)
oder.toFixed(4)
optimieren.
Konvertieren in Binärbasis
Die am häufigsten verstandenen Möglichkeiten, einen Bytewert in ein Gigabyte umzuwandeln, sind die binären Basiswerte. Den meisten von uns ist der Stückwert 1024
bekannt. Anders als im Dezimalsystem, wo die Division durch 1000 erfolgt, um in höhere Byte-Einheiten umzurechnen, dividieren wir im binären Zahlensystem durch den Faktor 1024
.
Basis zu Konvertierung mit binärer Basis
Bevor wir uns den Code für die Umrechnung ansehen, schauen wir uns den Wert der Umrechnungseinheit im binären Zahlensystem an. Hier dreht sich die Begründung um 1024
(also 2 hoch 10
oder 210).
- 1 KiloByte = 1024 Byte
- 1 Megabyte = 1024 Kilobyte
- 1 GigaByte = 1024 MegaByte
Daher ist im binären Basissystem 1 GigaByte = 1024 * 1024 * 1024 Bytes. Um einen Byte-Zahlenwert in Gigabyte umzuwandeln, muss dieser durch 1024 * 1024 * 1024
geteilt werden.
Umwandlungscode
Der folgende Code konvertiert die Anzahl der Bytes in eine Gigabyte-Darstellung im Binärsystem.
<h3><center>Byte to GB</center></h3>
<div>
<center>
<input type="text" id="bytes_input"><label>Bytes</label>
</center>
</div>
<div>
<center>
<button onclick="convertToGB()">Convert</button>
<button onclick="reset()">Reset</button>
</center>
</div>
<center>
<div>
<label>Result: </label> <label id="gbValue">0</label> GB
</div>
</center>
window.onload =
function() {
reset();
updateDisplay(0);
}
function convertToGB() {
let bytesValue = document.getElementById('bytes_input').value;
let gbValue = (bytesValue / (1024 * 1024 * 1024)).toFixed(2);
updateDisplay(gbValue);
}
function reset() {
document.getElementById('bytes_input').value = 0;
updateDisplay(0);
}
function updateDisplay(val) {
document.getElementById('gbValue').innerHTML = val;
}
Gegenüber dem Code mit Dezimalsystemumrechnung ist der einzige Unterschied, dass wir statt des Faktors 1000
den Faktor 1024
verwenden, der aus der Zeile (bytesValue / (1024 * 1024 * 1024)) ersichtlich ist.toFixed (2)
.
Bemerkungen
- Die gleiche Einschränkung gilt bei dieser Methode für den maximal eingebbaren Nummernkreis. Eine Zahl größer als
9007199254740991
garantiert keine erfolgreiche Konvertierung. - Wir können die Genauigkeit mit anpassen, indem wir den Parameter der Funktion
toFixed()
in der Zeile(bytesValue / (1024 * 1024 * 1024)).toFixed(2)
ändern. Normalerweise werden in den meisten Fällen 2 oder 3 Stellen nach dem Komma bevorzugt. - Die Ergebnisse können bei beiden Umrechnungen, der Dezimal-Basis-Umrechnung und der Binär-Basis-Umrechnung, abweichen. Der Vergleich zwischen den beiden Methoden ist ungültig, da er wie der Vergleich von Apfel und Orangen ist. Die Ergebnisse stehen in den jeweiligen Zahlenbasissystemen. Das bedeutet, dass im dezimalen Basissystem der Umwandlung von Bytes in Gigabyte das Ergebnis eine Gigabyte-Darstellung im dezimalen Zahlensystem ist und umgekehrt für das binäre Zahlenbasissystem.