Partenaires

CNRS
IN2P3
Sorbonne Universite
Universite de Paris
Initiative Physique des Infinis
UPMC


Rechercher

Sur ce site


Accueil > Le LPNHE > Pages du personnel permanent > Beau Tristan > Divers > Vielleries > calculs sur nombres flottants en shell

calculs sur nombres flottants en shell

13 décembre 2005

par Tristan Beau - 7 juin 2017

En shell, il est aisé d’effectuer des calculs sur des entiers. Par exemple, en sh, on pourra faire simplement :

ou bien plus simplement en bash

En revanche, le cas est un peu plus complexe pour les nombres à virgules...
A titre d’exemple, je propose ici des solutions pour effectuer une multiplication par un nombre non entier.
On suppose que la variable A est définie ainsi :

Sous shell zsh

C’est de loin la solution la plus facile. Le mécanisme présenté ci-dessus pour les nombres entiers sous bash est étendu aux nombres flottants en zsh
On pourra alors simplement faire :

Sous un autre shell, en appelant zsh

Si zsh n’est pas le shell de travail, rien n’empêche de l’invoquer :

à condition bien sûr que zsh soit installé.

Le calculateur standard sous UNIX : bc

L’outil bc peut prendre en entrée standard des opérations. Je rappelle qu’il est impératif d’utiliser l’option -l pour que les opérations sur les flottants s’effectuent. On écrira ainsi :

Calculateur standard sous UNIX en notation polonaise inverse : dc

Le pendant à bc est dc qui, lui, utilise la notation polonaise inverse. Ainsi :

Et avec awk ?

Bien sûr, les opérations sont également possible avec awk !

Une dernière proposition avec perl

Enfin, avec perl, cela reste encore assez simple :

Facebook
Enregistrer au format PDF