Convertir hexadécimal en décimal en bash

Convertir hexadécimal en décimal en bash
Quatre types de systèmes numériques sont populaires dans les systèmes informatiques. Ce sont décimaux, binaires, octaux et hexadécimaux. Le système binaire est basé sur 2 et tous les calculs arithmétiques sont effectués par ordinateur dans le système binaire. Il n'utilise que deux chiffres, 0 et 1 pour le calcul. Le système numérique que nous utilisons pour le calcul général est un système décimal qui est basé sur. 0 à 9 nombres sont utilisés dans le système décimal pour le calcul. Le système de nombres octaux est basé sur 8 et représenté par 0 à 7 chiffres. Le système de nombres hexadécimaux est basé sur 16 et il utilise des caractères de 0 à 9 et A à F pour représenter le nombre. Vous pouvez facilement convertir un numéro en un autre système de nombres à l'aide du script bash. Comment vous pouvez convertir le numéro hexadécimal (hex) en un numéro décimal dans Bash est montré dans ce tutoriel en utilisant divers exemples.

Exemple-1: Utilisation d'Obase, IBase et BC

L'un des moyens simples de convertir n'importe quel système de nombres en un autre système de nombres est d'utiliser IBase, Obase et BC. Créer un fichier bash nommé hextodec1.shot et ajouter le code suivant. Selon cet exemple, un nombre hexadécimal sera pris en entrée et converti en nombre décimal en fonction de la valeur d'Obase et d'IBase. Ici, Obase est défini sur 10 pour la conversion du numéro décimal, IBase est défini sur 16 pour prendre le numéro d'entrée sous forme de numéro hexadécimal et 'avant JC' La commande est utilisée pour la conversion.

#!/ bac / bash
Echo "Type A Number Hex"
Lire Hexnum
echo -n "La valeur décimale de $ hexnum ="
echo "obase = 10; iBase = 16; $ hexnum" | avant JC

Sortir:

Exécutez le script avec la commande bash et donnez tout numéro hexadécimal comme entrée pour découvrir la valeur décimale.

$ bash hextodec1.shot

Exemple-2: Utilisation d'IBase, argument de la ligne de commande et BC

Créer un fichier bash nommé hextodec2.shot et ajouter le code suivant. Dans cet exemple, la valeur d'entrée doit donner dans l'argument de la ligne de commande, qui sera lue par $ @. Ici, juste iBase avec 16 valeur est utilisé pour convertir Hex en nombre décimal.

#!/ bac / bash
echo -n "La valeur décimale de $ @ ="
echo "ibase = 16; $ @" | bc

Sortir:

Exécutez le script avec la commande bash, le nom de fichier et un numéro hexadécimal comme argument de ligne de commande. Ici, Ff est donné comme un argument de ligne de commande qui est considéré comme une valeur hexagonale.

$ bash hexxtodec2.sh ff

Exemple-3: Utilisation de la méthode printf

Une autre option pour convertir HEX en nombre décimal est printf. '%d' Le spécificateur de format est utilisé dans printf Méthode pour convertir n'importe quel nombre en numéro décimal. Créer un fichier bash nommé hextodec3.shot et ajouter le code suivant. Selon ce script, un numéro hexadécimal sera pris en entrée et il est utilisé dans printf méthode avec %d Pour imprimer la valeur décimale.

#!/ bac / bash
Echo "Type A Number Hex"
Lire Hexnum
printf "La valeur décimale de $ hexnum =% d \ n" $ ((16 # $ hexnum)))

Sortir:

Exécutez le script avec la commande bash et donnez tout numéro hexadécimal comme entrée pour découvrir la valeur décimale.

$ bash hexxtodec3.shot

Exemple-4: Utilisation des doubles supports

Il existe un autre moyen de convertir Hex en nombre décimal sans utiliser IBase, OBASE et BC ou Printf. Vous pouvez utiliser l'expression de double support avec 16 base pour convertir Hex en nombre décimal. Créer un fichier bash nommé hextodec4.shot et ajouter le code suivant. Ici, la commande Echo prendra le numéro en tant qu'hex.

#!/ bac / bash
Echo "Type A Number Hex"
Lire Hexnum
Echo $ ((16 # $ hexnum)))

Sortir:

Exécutez le script avec la commande bash et donnez tout numéro hexadécimal comme entrée pour découvrir la valeur décimale.

$ bash hexxtodec4.shot

Exemple-5: Conversion de la liste des nombres hexadécimaux

Supposons que vous ayez un fichier texte nommé 'Hexlist.SMS' qui contient la liste suivante des numéros hexadéciques.

Hexiste.SMS
AB05
Ff
A B C D
Accd
LIT

Créer un fichier bash nommé hextodec5.shot et ajouter le code suivant pour convertir chaque valeur hexagonale de hexiste.SMS dans la valeur décimale. Ici, Obase, IBase et BC sont utilisés pour la conversion. alors que LOOP est utilisé pour lire chaque valeur hexagonale à partir du fichier texte, convertir en valeur décimale et imprimer.

#!/ bac / bash
lors de la lecture du numéro
faire
echo -n "La valeur décimale de $ nombre (hex) ="
echo "obase = 10; iBase = 16; $ nombre" | avant JC
fait < hexList.txt

Sortir:

Exécutez le script avec la commande bash. Il y a cinq valeurs hexagonales dans le fichier texte et la sortie affiche cinq valeurs décimales après conversion.

$ bash hexxtodec5.shot

Ce tutoriel montre plusieurs façons de convertir Hex en valeurs décimales en utilisant le script bash. Vous pouvez suivre l'une des façons à vos fins de conversion. Vous pouvez également convertir d'autres systèmes numériques à l'aide des scripts mentionnés dans ce tutoriel simplement en modifiant la valeur de base.