logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
doc:programmation:shells:page-man-bash-iv-symboles-dans-les-calculs-mathematiques [04/06/2014 09:21]
Hypathie [Symboles dans les calculs mathématiques]
doc:programmation:shells:page-man-bash-iv-symboles-dans-les-calculs-mathematiques [09/07/2014 18:05]
Hypathie [Opérateurs binaires]
Ligne 6: Ligne 6:
   * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)   * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)
   * Suivi : {{tag>​en-chantier à-tester }}    * Suivi : {{tag>​en-chantier à-tester }} 
-    * Création par **Hypathie** 08/​04/​2014 +    * Création par [[user>Hypathie]] 08/​04/​2014 
-    * Testé par <Hypathiele <Avril 2014> +    * Testé par Hypathie le Avril 2014 
-  * Commentaires sur le forum : [[https://​debian-facile.org/​viewtopic.php?​pid=87499#​p87499 | Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))+  * Commentaires sur le forum : [[https://​debian-facile.org/​viewtopic.php?​pid=87499#​p87499 | ici]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
  
-**RAPPEL DU PLAN DE LA SÉRIE : **\\ 
  
-1) Intro I :  ​[[atelier:​chantier:​bash-les-differents-caracteres-speciaux|Bash : Introduction]]\\  +  * [[atelier:​chantier:​bash-les-differents-caracteres-speciaux|Vision d'​ensemble]] 
- +  ​* ​[[atelier:​chantier:​la-page-man-bash-les-caracteres-speciaux|Détail et caractères]] 
-2) chap II : [[atelier:​chantier:​la-page-man-bash-les-caracteres-speciaux|Bash : Détail et caractères]]\\  +  ​* ​[[atelier:​chantier:​la-page-man-bash-ii-les-operateurs-lexicographiques|Les opérateurs lexicographiques]] 
- +  ​* ​[[atelier:​chantier:​page-man-bash-iii-les-operateurs-de-comparaison-numerique|Les opérateurs de comparaison numérique]] 
-3) chap III : [[atelier:​chantier:​la-page-man-bash-ii-les-operateurs-lexicographiques|Bash : les opérateurs lexicographiques]]\\  +  * ;-
- +  ​* ​[[atelier:​chantier:​page-man-bash-v-les-tableaux|Les tableaux]] 
-4) chap IV : [[atelier:​chantier:​page-man-bash-iii-les-operateurs-de-comparaison-numerique|Bash : les opérateurs de comparaison numérique]]\\  +  ​* ​[[atelier:​chantier:​man-bash-vi-les-caracteres-de-transformation-de-parametres|Les caractères de transformation de parametres]] 
- +  ​* ​[[atelier:​chantier:​bash-vii-globs-etendus-regex| ​Globs étendus et regex]]
-5chap V : C'est ici !\\  +
- +
-6) chap VI : [[atelier:​chantier:​page-man-bash-v-les-tableaux|Bash : les tableaux]]\\  +
- +
-7) chap VII : [[atelier:​chantier:​man-bash-vi-les-caracteres-de-transformation-de-parametres|Bash : les caractères de transformation de parametres]]\\  +
- +
-8) chap VIII : [[atelier:​chantier:​bash-vii-globs-etendus-regex|Bash : globs étendus et regex]]+
  
 Contributeurs,​ les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! Contributeurs,​ les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !
  
-=====Symboles dans les calculs mathématiques ​=====+=====Opérateurs arithmétiques ​=====
  
-====Opérateurs arithmétiques ====+^opérateurs ​ ^opérations ​                    ^ 
 +| ''<​nowiki>​ +</​nowiki>​ '' ​   | addition ​                     | 
 +| ''​ <​nowiki>​-</​nowiki>​ '' ​   | soustraction ​                 | 
 +| ''​ <​nowiki>/</​nowiki>​ '' ​   | division (récup. le quotient) |  
 +| ''​ <​nowiki>​%</​nowiki>​ '' ​   | modulo (récup. le reste) ​     | 
 +| ''​ <​nowiki>​* </​nowiki>'' ​   | multiplication ​               | 
 +| ''​ <​nowiki>​**</​nowiki>​ '' ​  | puissance (''​bash 2.02 et sup.''​) |
  
-^opérateurs ​       ^opérations ​                    ^ +>Pour les calculs complexes bash n'est pas adapté, il faut utiliser ​le langage ''​bc''​.
-| <code>+</​code> ​  | addition ​                     | +
-| <​code>​ -</​code> ​ | soustraction ​                 | +
-| <​code>/</​code> ​  | division (récup. ​le quotient) |  +
-| <​code>​%</​code> ​  | modulo (récup. le reste) ​     | +
-| <​code>​*</​code> ​  | multiplication ​               | +
-| <​code>​** </​code>​ | puissance (bash 2.02 et sup.) |+
  
-**Pour les calculs complexes bash n'est pas adapté, il faut utiliser le langage bc.**+=====Opérateurs d'affectation arithmétique=====
  
-====Opérateurs d'​affectation arithmétique====+^opérateurs ​                        ​^opérations ​                      ^ 
 +| ''<​nowiki>​=</​nowiki> ​'' ​          ​| ​affectation arithmétique ​       | 
 +| ''<​nowiki>​+=</​nowiki>​ '' ​         | incrémentation ​                 | 
 +| ''<​nowiki>​-=</​nowiki>​ '' ​         | décrémentation ​                 | 
 +| ''<​nowiki>/​=</​nowiki>​ '' ​         | affectation par division ​       | 
 +| ''<​nowiki>​+=</​nowiki>​ '' ​         | affectation par multiplication ​ | 
 +| ''<​nowiki>​%=</​nowiki>​ '' ​         | afectation du reste             |
  
-^opérateurs ​               ^opérations ​                      ^ +**Voir :** 
-| <​code>​=</​code> ​          | affectation arithmétique ​       | +  * **[[atelier:​chantier:​script-bash-variables-arguments-parametres?&#​typologie-des-variables|typologie de variables]]** 
-| <​code>​+=</​code> ​         | incrémentation ​                 | +  ​* **[[atelier:​chantier:​script-bash-variables-arguments-parametres?&#​variables-numeriques-et-calculs|variables numériques et calculs]]**
-| <​code>​-=</​code> ​         | décrémentation ​                 ​+
-| <​code>/​=</​code> ​         | affectation par division ​       | +
-| <​code>​+=</​code> ​         | affectation par multiplication ​ | +
-| <​code>​%=</​code> ​         | afectation du reste             |+
  
 +=====Opérateurs binaires =====
 +Ces opérateurs s'​utilisent sur des binaires, (sur des 1 et des zéro).
  
 +^ Opérateurs ​      ^ significations ​                                            ^
 +| ''<<'' ​ | décalage d'un bit à gauche (=mutiplication par deux)       |
 +| ''>>''​ | décalage d'un bit à droite (=division par deux)            |
 +| ''&<'' ​  | "​et"​ logique ​ (ex : on a une variable=1; si on fait &1 cela fait 1 (en binaire 1 et 1 = 1)|
 +| ''​|<'' ​ | ou (inclusif) binaire ​                                     |
 +| ''​~'' ​  | non binaire ​                                               |
 +| ''​^'' ​  | XOR (ou exclusif) binaire ​                                 | 
  
-====1) La construction :==== +<note
-<code+Le ''&​<'' ​"​et"​ binaire), le ''​|<'' ​("ou" ​binaire), et le ''​~''​ ("non" ​binaire)\\ peuvent aussi être remplacés (de façon équivalente) par les opérateurs logiques que l'on vus au sujet de la composition ​de commandes sur erreur ou sur réussite.
- ((...))  +
-</code> permet une évaluation arithmétique.  +
-<​code>​ +
-#​!/​bin/​bash +
-a=$(( 5 + 3 )+
-echo $a           # réponse 8 +
-b=$(( 5 - 2 )) +
-echo $b           # réponse 3 +
-c=$(( 6 * 2 )) +
-echo $c           # réponse 12 +
-d=$(( 10 / 3 )) +
-echo $d           # réponse 3 +
-e=$(( 10 % 3 )) +
-echo $e           # réponse 1 +
-</code> +
- +
-====2) avec la commande let (les signes mathématiques ont la même fonction) :==== +
-<​code>​ +
-#​!/​bin/​bash +
-let "a = 5" +
-let "b = 10" +
-let "c = a + b" +
-let "e= a * b" +
-let "f= b / a" +
-let "g= b % a" +
-echo -e  "​$c ​\n$e \n$f \n$g" ​ # ou /bin/echo "$c $e $f $g" +
-# réponse :  +
-15  +
-50  +
-2  +
-+
-# bashisme ​de l'option -e pour forcer le retour à la ligne pour chaque appel de valeur $c $e $f $g +
-# réponse : 15 50 2 0 +
-</​code>​ +
- +
-====3) écriture proche de c :==== +
-<​code>​ +
-let "= 5" +
-let "b = 10" +
-let "c = a *= 3" +
-let "d = a += 3" ​    # valeur précédente ​de a conservée pour calculer d : 15+3 =18 +
-let "e = b /= 3" +
-let "f = b /= 3" ​   # valeur précédente ​de b conservée pour calculer f : 3/3 =1 +
-echo "c=$c d=$d e=$e f=$f" # réponse : c=15 d=18 e=3 f=1 +
-i=1 +
-let "i += 7" +
-echo "​i=$i" ​       # réponse : i=8 +
-j=4 +
-let "j *= 5" +
-echo "​j=$j" ​       # réponse : j=20 +
-</​code>​+
  
-====4) écriture ​utile pour les boucles ​==== +> ''&&'' ​ : exécution de la commande suivante si, et seulement si la précédente renvoie 0 
-  * **post-incrémentation ​avec conservation de la la valeur ​et idem pour pré-incrémentation :**+> ''​||'' ​ : exécution de la commande suivante si, et seulement si la précédente renvoie autre chose que 0 
 +> ''​!'' ​  : inverse du retour d'une commande, c'est à dire un "​non"​ logique 
 +^_^ 
 +</​note>​ 
 +===== Écriture ​utile pour les boucles ​===== 
 +===Post-incrémentation et pré-incrémentation :===
  
-<​code>​+<​code ​bash>
 #!/bin/bash #!/bin/bash
 declare -i x=20 y  # ici les signes = permettent une affection declare -i x=20 y  # ici les signes = permettent une affection
Ligne 122: Ligne 79:
 </​code>​ </​code>​
  
-<​code>​+<​code ​bash>
 #!/bin/bash #!/bin/bash
 declare -i x=20 y declare -i x=20 y
Ligne 131: Ligne 88:
 </​code>​ </​code>​
  
-  * **post-décrémentation ​avec conservation de la la valeur ​et idem pour pré-décrémentation :** +===Post-décrémentation et pré-décrémentation :=== 
-<​code>​+<​code ​bash>
 #!/bin/bash #!/bin/bash
 declare -i x=20 y declare -i x=20 y
Ligne 141: Ligne 98:
 </​code>​ </​code>​
  
-<​code>​+<​code ​bash>
 #!/bin/bash #!/bin/bash
 declare -i x=20 y declare -i x=20 y
Ligne 150: Ligne 107:
 </​code>​ </​code>​
  
-===tuto précédent ​:===+=====Tuto ​précédent ​=====
  
 [[atelier:​chantier:​page-man-bash-iii-les-operateurs-de-comparaison-numerique|Bash : les opérateurs de comparaison numérique]] [[atelier:​chantier:​page-man-bash-iii-les-operateurs-de-comparaison-numerique|Bash : les opérateurs de comparaison numérique]]
  
-===La suite, c'est ici ===+=====La suite, c'est ici =====
 [[atelier:​chantier:​page-man-bash-v-les-tableaux|Bash : les tableaux]] [[atelier:​chantier:​page-man-bash-v-les-tableaux|Bash : les tableaux]]
doc/programmation/shells/page-man-bash-iv-symboles-dans-les-calculs-mathematiques.txt · Dernière modification: 26/04/2023 19:29 par bendia

Pied de page des forums

Propulsé par FluxBB