Deprecated: Assigning the return value of new by reference is deprecated in /web/htdocs/www.flaviocdc.net/home/wiki/inc/parserutils.php on line 208 Deprecated: Assigning the return value of new by reference is deprecated in /web/htdocs/www.flaviocdc.net/home/wiki/inc/parserutils.php on line 211 Deprecated: Assigning the return value of new by reference is deprecated in /web/htdocs/www.flaviocdc.net/home/wiki/inc/parserutils.php on line 421 Deprecated: Assigning the return value of new by reference is deprecated in /web/htdocs/www.flaviocdc.net/home/wiki/inc/parserutils.php on line 594 Deprecated: Function split() is deprecated in /web/htdocs/www.flaviocdc.net/home/wiki/inc/auth.php on line 154 Floating point da riga di comando [Flavio Casadei Della Chiesa Wiki]
 
Il contenuto di questo sito è rilasciato sotto licenza Creative Commons License se non specificato diversamente

Floating point da riga di comando

A volte, ma non troppo spesso, mi capita di dover inserire dei calcoli in virgola mobile in uno script bash; il problema è che (per quanto ne so io) bash non supporta i numeri in virgola mobile, è quindi necessario utilizzare una calcolatrice da riga di comando da integrare nello script bash. La calcolatrice che utilizzo è bc che si trova su molte distribuzioni linux e su Mac OS X Vediamo un esempio di funzionamento

miohost:~ miouser$ bc
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
11 / 3
3

c'è qualcosa che non torna …

  • compaiono degli “header” inutili –> questi possono essere messi a tacere con il flag -q (lanciare il comando bc -q al posto di bc)
  • i numeri non sono a virgola mobile –> per farli a virgola mobile è necessario impostare nello script bc il parametro scale=…
miohost:~ miouser$ bc -q
scale=5
11 / 3
3.66666

Per il resto … RTFM … ovvero man bc

 
linux/floating_point_da_riga_di_comando.txt · Ultima modifica: 2012/02/02 11:19 da fcasadei
 
Recent changes RSS feed