Une calculatrice en ligne de commande

Sous Debian/Ubuntu, il existe une commande qui permet de transformer la console en calculatrice.

Cette commande s'appelle bc.

Pour l'installer :

$ apt-get install bc

Utilisation (en rouge les résultats affichés) :

$ 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'. 
5*8
40
15+9
24
45/8
5

Sans option, la commande bc exécute les calculs sans les décimales.

Pour afficher les décimales, il suffit d'utiliser l'option -l

$ 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'. 
5*8
40
9-5
4
6+8
14
40/5
8.00000000000000000000
45/8
5.62500000000000000000

Par défaut, l'option -l affiche 20 chiffres après la virgule.
Pour modifier cette valeur, il suffit d'utiliser la fonction scale.

$ 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=5
45/8
5.62500

Il est également possible d'utiliser des variables.

$ 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=5
a=10
b=3
c=a+b
d=a-b
e=a*b
f=a/b
c
13
d
7
e
30
f
3.33333
 
Les différentes fonctions mathématiques ne sont pas oubliées.
 
$ 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=5
5^3         #PUISSANCE
125
sqrt(9)     #RACINE CARREE
3.00000
45%8        #MODULO
0
scale=0
45%8        #MODULO
5
 
ATTENTION, pour le modulo, initialiser le scale à 0 avant l'opération.
 

Calculer la valeur de pi :

pi est égal à 4 fois l'arc tangente de 1 radian.

$ 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'. 
pi=4*a(1)     # On calcul la valeur de pi
pi
3.14159265358979323844
 
Convertir des degrés en radian et inversement :
 
$ 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'. 
pi=4*a(1)     # On calcul la valeur de pi
pi
3.14159265358979323844
45*(pi/180)     # 45 degrés en radian
.78539816339744830920
.78539816339744830920*(180/pi)     # 0.78.... radian en degrés
44.99999999999999997650
 
et les sinus, cosinus et arc tangente
 
$ 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'. 
pi=4*a(1)     # On calcul la valeur de pi
r=45*(pi/180)     # On convertit les degrés en radian (45°)
s(r)    # On calcul le sinus
.70710678118654752410
c(r)     # On calcul le cosinus
.70710678118654752469
a(r)     # On calcul l'arc tangente
.66577375002835386333
 
Toute l'aide disponible avec : 
 
$ man bc
 
Il est également possible d'utiliser la commande bc pour initialiser une variable bash :
 
$ PI=$(echo "scale=10; 4*a(1)" | bc -l)
$ echo $PI
3.1415926532

 

Etiquettes: 

Commentaires

oui bc fonctionne bien
il existe aussi dc (mais en RPN si tu connais)

Je ne connaissais pas dc

Ajouter un commentaire

Filtered HTML

  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.
  • Tags HTML autorisés : <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Les lignes et les paragraphes vont à la ligne automatiquement.

Plain text

  • Aucune balise HTML autorisée.
  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.
  • Les lignes et les paragraphes vont à la ligne automatiquement.
CAPTCHA
Cette question permet de s'assurer que vous êtes un utilisateur humain et non un logiciel automatisé de pollupostage.
CAPTCHA visuel
Entrez les caractères (sans espace) affichés dans l'image.