Ecco un paio di esempi:
$ echo 3 / 2 | bc -l 1.50000000000000000000
$ # calcolo del tempo medio che la luce impiega per andare dalla terra alla luna $ delay=$(echo 384400 / 299792.458 | bc -l) $ echo $delay 1.28222038194169647856
In bc la precisione si imposta col comando scale. Questo esempio imposta la precisione a 3 cifre ed esegue un calcolo decimale (radice di 2 diviso 3):
$ bc <<-EOE > scale=3 > sqrt(2)/3 > EOE .471
L'opzione -l carica la libreria matematica (contenente funzioni avanzate come quelle trigonometriche) e imposta la massima precisione (20 cifre). Se serve impostare solo il numero di decimali si può evitarla, come fatto nel secondo esempio.
Ovviamente la shell non è il linguaggio migliore per fare calcoli complessi perché poco efficiente, ma se serve fare qualche conticino in questo modo si può.
No comments:
Post a Comment