Partenaires

CNRS IN2P3
UPMC
UPD
UPMC


Rechercher

Sur ce site

Sur le Web du CNRS


Accueil du site > Le LPNHE > Pages du personnel > 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

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