Effectivement. J’avais cherché hex dans le man, je n’avais pas pensé que bc soit sophistiqué au point de supporter des bases arbitraires, alors que sans l’option -l, il donne juste des résultats faux :
$ bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
3*2/2
3
3/2*2
2
1.5*2
3.0
1.6*2
3.2
1.5*2/2
1
1.5/2*2
0
Ce n’est même pas du calcul en entiers, puisqu’il accepte des nombres décimaux en entrée, c’est la division qui semble être euclidienne. Je veux bien que ce soit indiqué « with ABSOLUTELY NO WARRANTY », mais quand même... Le man est particulièrement abscons là-dessus aussi (je vous invite à le lire, c’est quasiment un exercice de style sur la façon de ne pas donner l’information la plus importante).
Bon, pour ceux qui n’aiment pas les devinettes, l’information, c’est « scale defines how some operations use digits after the decimal point. The default value of scale is 0. »
$ bc -l
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
scale
20
10^-20
.00000000000000000001
10^-21
0
$ bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
scale
0
10^-20
0
scale=20
10^-20
.00000000000000000001
10^-21
0
scale=21
10^-21
.000000000000000000001
scale=0
0.1
.1
10^-1
0
0.1*0.2
0
0.01*2
.02
Étonnant, non ?
Bref, j’éviterais de m’en servir pour des calculs scientifiques un peu importants...
« Le fascisme c’est la gangrène, à Washington comme en Russie. » — adapté de Renaud, Hexagone
[^] # bc
Posté par Arthur Accroc . En réponse au journal Calculatrice : matériel et logiciel ouverts ?. Évalué à 2.
Effectivement. J’avais cherché hex dans le man, je n’avais pas pensé que bc soit sophistiqué au point de supporter des bases arbitraires, alors que sans l’option -l, il donne juste des résultats faux :
Ce n’est même pas du calcul en entiers, puisqu’il accepte des nombres décimaux en entrée, c’est la division qui semble être euclidienne. Je veux bien que ce soit indiqué « with ABSOLUTELY NO WARRANTY », mais quand même... Le man est particulièrement abscons là-dessus aussi (je vous invite à le lire, c’est quasiment un exercice de style sur la façon de ne pas donner l’information la plus importante).
Bon, pour ceux qui n’aiment pas les devinettes, l’information, c’est « scale defines how some operations use digits after the decimal point. The default value of scale is 0. »
Étonnant, non ?
Bref, j’éviterais de m’en servir pour des calculs scientifiques un peu importants...
« Le fascisme c’est la gangrène, à Washington comme en Russie. » — adapté de Renaud, Hexagone