Converti esadecimale in decimale in bash

Converti esadecimale in decimale in bash
Quattro tipi di sistemi numerici sono popolari nei sistemi informatici. Questi sono decimali, binari, ottali ed esadecimali. Il sistema binario è basato su 2 e tutti i calcoli aritmetici vengono eseguiti dal computer nel sistema binario. Utilizza solo due cifre, 0 e 1 per il calcolo. Il sistema numerico che utilizziamo per il calcolo generale è il sistema decimale basato su 10. I numeri da 0 a 9 vengono utilizzati nel sistema decimale per il calcolo. Il sistema di numeri ottali è basato su 8 e rappresentato da 0 a 7 cifre. Il sistema di numeri esadecimali è basato su 16 e utilizza caratteri da 0 a 9 e da A a F per rappresentare il numero. È possibile convertire facilmente un numero in un altro sistema di numeri utilizzando lo script bash. Come puoi convertire il numero esadecimale (esadecimale) in numero decimale in bash è mostrato in questo tutorial usando vari esempi.

Esempio-1: usando Obase, Ibase e BC

Uno dei modi semplici per convertire qualsiasi sistema di numeri in un altro sistema numerico è utilizzare Ibase, Obase e BC. Crea un file bash denominato hextodec1.sh e aggiungi il seguente codice. Secondo questo esempio, un numero esadecimale verrà preso come input e convertito nel numero decimale in base al valore di Obase e Ibase. Qui, Obase è impostato su 10 per la conversione del numero decimale, Ibase è impostato su 16 per prendere il numero di input come numero esadecimale e "avanti Cristo' Il comando viene utilizzato per la conversione.

#!/Bin/Bash
Echo "Digita un numero esagonale"
Leggi hexnum
echo -n "Il valore decimale di $ hexnum ="
echo "obase = 10; ibase = 16; $ hexnum" | avanti Cristo

Produzione:

Esegui lo script con il comando bash e dai qualsiasi numero esadecimale come input per scoprire il valore decimale.

$ Bash Hextodec1.sh

Esempio-2: usando ibase, argomento della riga di comando e bc

Crea un file bash denominato hextodec2.sh e aggiungi il seguente codice. In questo esempio, il valore di input deve dare nell'argomento della riga di comando, che verrà letto da $@. Qui, solo Ibase con 16 valore viene utilizzato per convertire HEX nel numero decimale.

#!/Bin/Bash
echo -n "Il valore decimale di $@="
echo "ibase = 16; $@" | BC

Produzione:

Esegui lo script con comando bash, nome file e un numero esadecimale come argomento della riga di comando. Qui, Ff è dato come argomento della riga di comando che viene preso come valore esadecimale.

$ Bash Hextodec2.sh ff

Esempio-3: utilizzando il metodo Printf

Un'altra opzione per la conversione di hex in numero decimale è printf. '%D' Specificatore di formato viene utilizzato in printf Metodo per convertire qualsiasi numero in numero decimale. Crea un file bash denominato hextodec3.sh e aggiungi il seguente codice. Secondo questo script, un numero esadecimale verrà preso come input e viene utilizzato in printf metodo con %D Per stampare il valore decimale.

#!/Bin/Bash
Echo "Digita un numero esagonale"
Leggi hexnum
printf "Il valore decimale di $ hexnum =%d \ n" $ ((16#$ hexnum))

Produzione:

Esegui lo script con il comando bash e dai qualsiasi numero esadecimale come input per scoprire il valore decimale.

$ Bash Hextodec3.sh

Esempio-4: usando le doppie parentesi

C'è un altro modo per convertire HEX al numero decimale senza usare IBASE, OBASE e BC o Printf Metodo. È possibile utilizzare l'espressione a doppia staffa con 16 basi per convertire l'esagono nel numero decimale. Crea un file bash denominato hextodec4.sh e aggiungi il seguente codice. Qui, il comando Echo prenderà il numero come esadecimale e stampa l'output nel sistema di numeri decimale.

#!/Bin/Bash
Echo "Digita un numero esagonale"
Leggi hexnum
Echo $ ((16#$ hexnum))

Produzione:

Esegui lo script con il comando bash e dai qualsiasi numero esadecimale come input per scoprire il valore decimale.

$ Bash Hextodec4.sh

Esempio-5: conversione dell'elenco dei numeri esadecimali

Supponiamo che tu abbia un file di testo chiamato 'Exlist.TXT' che contiene il seguente elenco di numeri esadecimali.

Eslista.TXT
AB05
Ff
ABCD
Accd
LETTO

Crea un file bash denominato hextodec5.sh e aggiungere il seguente codice per convertire ogni valore esagonale di eslista.TXT nel valore decimale. Qui, Obase, Ibase e BC sono usati per la conversione. Mentre Loop viene utilizzato per leggere ogni valore esagonale dal file di testo, convertire in valore decimale e stampare.

#!/Bin/Bash
mentre leggi il numero
Fare
echo -n "Il valore decimale di $ numero (hex) ="
echo "obase = 10; ibase = 16; $ numero" | avanti Cristo
Fatto < hexList.txt

Produzione:

Esegui lo script con il comando bash. Ci sono cinque valori esadecimali nel file di testo e l'output mostra cinque valori decimali dopo la conversione.

$ Bash Hextodec5.sh

Questo tutorial mostra diversi modi per convertire HEX in valori decimali usando lo script bash. Puoi seguire uno dei modi per il tuo scopo di conversione. Puoi anche convertire altri sistemi numerici utilizzando gli script menzionati in questo tutorial semplicemente modificando il valore di base.