Mathématiques à point flottante en bash

Mathématiques à point flottante en bash

Un nombre qui a un espace décimal est un numéro flottant. Un nombre flottant est un nombre entier positif et négatif avec un point décimal comme 2.5, 10.8, -5.23, etc. C'est pourquoi la précision est cruciale lorsque vous utilisez un numéro flottant dans un calcul.

Lorsque vous travaillez avec des chiffres, vous devriez effectuer des mathématiques à point flottante rapide, en particulier dans les scripts shell. Cependant, il peut prendre beaucoup de travail pour qu'un débutant évalue les points flottants dans Bash. Donc, dans ce tutoriel, nous vous donnerons un bref.

Mathématiques à point flottante en bash

Bash ne prend en charge que l'arithmétique entier, donc si vous avez besoin d'effectuer des calculs avec des nombres à virgule flottante, utilisez une utilité distincte en bash. Passons par certains services publics et voyons comment effectuer des mathématiques à point flottante en bash:

avant JC

La commande BC est un processus interactif pour fournir une arithmétique arbitraire de précision dans Bash. La commande BC lit d'abord le fichier d'entrée spécifié par n'importe quel paramètre de fichier, puis lit l'entrée standard. Avec la calculatrice de précision arbitraire de la Colombie-Britannique, vous pouvez effectuer des mathématiques à point flottant dans des scripts de coquille tels que l'addition, la soustraction, la multiplication, la division, etc. Par exemple, nous avons un fichier bash comme suit:


Comme vous pouvez le voir, nous venons d'utiliser la commande BC à l'aide de tuyaux dans ce fichier bash. Exécutons le script dans le terminal:


La sortie ci-dessus montre que l'ajout, la soustraction, la multiplication et le module sont tous corrects, mais la réponse de la division est erronée. Par conséquent, nous devons ajouter l'échelle de la division:


Avec toute la sortie de la division, ce sera également correct.


Maintenant, nous reviendrons dans le fichier bash et déclarerons un autre numéro dont la valeur sera ce que vous voulez et fera des opérations comme la puissance, la racine carrée, etc.


Ici, nous trouverons la racine carrée de 2.2, que nous avons déjà déclaré dans notre fichier bash. En exécutant le fichier bash, notre sortie sera quelque chose comme ceci:


Ainsi, vous pouvez effectuer des mathématiques à point flottante en bash via la commande BC.

Perler

Le langage Perl ne nécessite pas de compilation; Au lieu de cela, il permet un code indépendant de la plate-forme. Vous pouvez également effectuer une arithmétique des nombres flottants dans Bash à l'aide de Perl, qui prend en charge les fonctionnalités linguistiques comme C, C ++, CSH, SH, Grep, Awk et SED. Vous pouvez le faire en exécutant les commandes suivantes:

$ perl -e 'imprimer 2.2 + 3.3 '
5 $.5
$ perl -e 'imprimer 2.2 - 3.3 '
-1 $.1

Awk

L'utilitaire awk vous permet d'écrire des programmes efficaces mais courts sous forme de déclarations. Surtout, AWK est utilisé pour les modèles de numérisation et de traitement. Cette commande recherche un ou plusieurs fichiers pour voir s'ils contiennent des lignes correspondantes et effectuent des actions connexes. Vous pouvez facilement effectuer des mathématiques à point flottantes dans le script shell via la numérisation et le traitement du modèle awk.

Vous pouvez utiliser AWK pour n'importe quel numéro flottant pour calculer la puissance (**, ^), le logarithme naturel (log (x)), la racine carrée (sqrt (x)), l'Arctangent (atan2 (y, x)), la fonction sinusoïdale (sin (x)), la fonction cosinus (cos (x)), etc.:

$ echo - | awk 'print sqrt (3.2) '
1 $.78885
$ echo - | awk 'print s62.5/5.5 '
11 $.3636
$ echo - | awk 'print sqrt 2.2 ^ 1.3 '
2 $.78708

Emballer

Il s'agissait donc des méthodes pour évaluer les mathématiques à point flottantes dans le script bash. Vous calculez le point flottant dans différents langages de programmation comme Perl, Python, Ruby, Calculateur de précision arbitraire de la Colombie. Il vous suffit d'ajouter les commandes dans le script bash, puis d'exécuter le script pour obtenir les résultats souhaités.