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.SMSCré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.