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.txtErstellen 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.