Menu
Rechercher
Accueil > Le LPNHE > Pages du personnel permanent > Beau Tristan > Divers > Vielleries > calculs sur nombres flottants en shell
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 :
Dans la même rubrique :
- tutoriel rapide matlab 5
- thèse sur Borexino
- anti-spam et imap
- permutations et appel récursif
- format non trivial pour les nombres en c++
- Sommer des champs dans un fichier
- vim et ses folles astuces
- aide minimale emacs
- pointeur de fonction
- makefile et recherche de dépendances
- fork, ou comment créer des processus fils en C
- rediriger la sortie standard de Minuit
- makefile pour ferme hétérogène de calcul (tel qu’au ccin2p3)
- les énumérations en C
- publications et communications
- code ascii d’un caractère
- rapports et communications internes
- calcul d’histogramme
- test d’argument numérique entier
- créer un pdf récapitulant les logins d’une machine
- indications sur le sujet d’examen d’UNIX-1...
- lister en C le contenu d’un répertoire
- contrôle des processus fils créés par fork()
- variables globales (extern) et commandes du préprocesseur
- Programme d’orchestre au tuba...
- Léopard : installation de l’OS et packages divers
- Mountain Lion : une configuration personnelle
- Soucis avec Yosemite ( MacOS 10.10 )
- CV - très vieille version