Sechsdezimal in Bash in Dezimalheit umwandeln

Sechsdezimal in Bash in Dezimalheit umwandeln
Vier Arten von Zahlensystemen sind in Computersystemen beliebt. Dies sind Dezimal-, Binär-, Oktal- und Hexadezimal. Das binäre System basiert 2 und alle arithmetischen Berechnungen werden vom Computer im binären System durchgeführt. Es verwendet nur zwei Ziffern, 0 und 1 für die Berechnung. Das Zahlensystem, das wir für die allgemeine Berechnung verwenden, ist ein Dezimalsystem, das 10 basiert. 0 bis 9 Zahlen werden im Dezimalsystem zur Berechnung verwendet. Das Oktalzahlsystem ist 8 basiert und durch 0 bis 7 Ziffern dargestellt. Das Hexadezimalzahlsystem ist 16 basiert und verwendet 0 bis 9 und A bis F Zeichen, um die Zahl darzustellen. Sie können eine Nummer einfach mit dem Bash -Skript in ein anderes Zahlensystem konvertieren. Wie Sie die Hexadezimal -Nummer (Hex) in die Dezimalzahl in Bash konvertieren können, wird in diesem Tutorial anhand verschiedener Beispiele angezeigt.

Beispiel 1: Verwenden von Obase, IBase und BC

Eine der einfachen Möglichkeiten, ein beliebiges Zahlensystem in ein anderes Zahlensystem umzuwandeln, besteht darin, IBASE, OBASE und BC zu verwenden. Erstellen Sie eine Bash -Datei mit dem Namen Hextodec1.Sch und fügen Sie den folgenden Code hinzu. Nach diesem Beispiel wird eine Hex -Nummer als Eingabe angenommen und basierend auf dem Wert von Obase und IBase in die Dezimalzahl umgewandelt. Hier ist Obase auf 10 für die Konvertierung der Dezimalzahl eingestellt. Ibase ist auf 16 gesetzt, um die Eingangsnummer als Hex -Nummer und 'zu erhaltenBC ' Der Befehl wird zur Konvertierung verwendet.

#!/Bin/Bash
Echo "Typ A Hex -Nummer"
Lesen Sie Hexnum
echo -n "Der Dezimalwert von $ hexnum ="
echo "obase = 10; ibase = 16; $ hexnum" | BC

Ausgang:

Führen Sie das Skript mit Bash -Befehl aus und geben Sie eine hexadezimale Nummer als Eingabe an, um den Dezimalwert herauszufinden.

$ bash hextodec1.Sch

Beispiel-2: Verwenden von Ibase, Befehlszeilenargument und BC

Erstellen Sie eine Bash -Datei mit dem Namen Hextodec2.Sch und fügen Sie den folgenden Code hinzu. In diesem Beispiel muss der Eingabwert im Befehlszeilenargument angeben, das durch gelesen wird $@. Hier wird nur IBase mit 16 Wert verwendet, um Hex in die Dezimalzahl umzuwandeln.

#!/Bin/Bash
echo -n "Der Dezimalwert von $@="
echo "ibase = 16; $@" | bc

Ausgang:

Führen Sie das Skript mit Bash -Befehl, Dateiname und eine hexadezimale Nummer als Befehlszeilenargument aus. Hier, Ff wird als Befehlszeilenargument angegeben, das als Hex -Wert genommen wird.

$ bash hextodec2.Sh ff

Beispiel-3: Verwenden Sie die Printf-Methode

Eine weitere Option zum Konvertieren von Hex in die Dezimalzahl ist printf. '%D' Formatspezifizierer wird in verwendet printf Methode, um eine beliebige Zahl in die Dezimalzahl umzuwandeln. Erstellen Sie eine Bash -Datei mit dem Namen Hextodec3.Sch und fügen Sie den folgenden Code hinzu. Nach diesem Skript wird eine Hex -Nummer als Eingabe angenommen und wird in verwendet printf Methode mit %D Den Dezimalwert drucken.

#!/Bin/Bash
Echo "Typ A Hex -Nummer"
Lesen Sie Hexnum
printf "Der Dezimalwert von $ hexnum =%d \ n" $ ((16#$ hexnum))

Ausgang:

Führen Sie das Skript mit Bash -Befehl aus und geben Sie eine hexadezimale Nummer als Eingabe an, um den Dezimalwert herauszufinden.

$ bash hextodec3.Sch

Beispiel-4: Verwenden von Doppelklammern

Es gibt eine andere Möglichkeit, Hex in die Dezimalzahl umzuwandeln, ohne die Methode IBase, OBase und BC oder Printf zu verwenden. Sie können Doppelklammern mit 16 Basis verwenden, um Hex in die Dezimalzahl umzuwandeln. Erstellen Sie eine Bash -Datei mit dem Namen Hextodec4.Sch und fügen Sie den folgenden Code hinzu. Hier nimmt der Echo -Befehl die Nummer als Hex und druckt die Ausgabe im Dezimalzahlsystem aus.

#!/Bin/Bash
Echo "Typ A Hex -Nummer"
Lesen Sie Hexnum
echo $ ((16#$ hexnum))

Ausgang:

Führen Sie das Skript mit Bash -Befehl aus und geben Sie eine hexadezimale Nummer als Eingabe an, um den Dezimalwert herauszufinden.

$ bash hextodec4.Sch

Beispiel-5: Konvertierung der Liste der Hexadezimalzahlen

Angenommen, Sie haben eine Textdatei mit dem Namen 'Hexlist.txt' Das enthält die folgende Liste von Hex -Nummern.

Hexliste.txt
AB05
Ff
A B C D
Accd
BETT

Erstellen Sie eine Bash -Datei mit dem Namen Hextodec5.Sch und fügen Sie den folgenden Code hinzu, um jeden Hex -Wert von zu konvertieren Hexliste.txt in den Dezimalwert. Hier werden Obase, IBase und BC zur Konvertierung verwendet. während Die Schleife wird verwendet, um jeden Hex -Wert aus der Textdatei zu lesen, in den Dezimalwert zu konvertieren und drucken.

#!/Bin/Bash
Während der Lesennummer
Tun
echo -n "Der Dezimalwert von $ nummer (hex) ="
echo "obase = 10; ibase = 16; $ number" | BC
Erledigt < hexList.txt

Ausgang:

Führen Sie das Skript mit Bash -Befehl aus. In der Textdatei stehen fünf Hex -Werte und die Ausgabe zeigt fünf Dezimalwerte nach der Konvertierung.

$ bash hextodec5.Sch

Dieses Tutorial zeigt mehrere Möglichkeiten, Hex in Dezimalwerte mithilfe des Bash -Skripts in Dezimalwerte umzuwandeln. Sie können einen der Wege für Ihren Umwandlungszweck befolgen. Sie können auch andere Zahlensysteme mithilfe der in diesem Tutorial genannten Skripte konvertieren, indem Sie den Grundwert ändern.