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
doc:programmation:shells:page-man-bash-iv-symboles-dans-les-calculs-mathematiques [26/02/2023 21:23]
agp91 [Les opérateurs bit-à-bit]
doc:programmation:shells:page-man-bash-iv-symboles-dans-les-calculs-mathematiques [26/04/2023 19:29] (Version actuelle)
bendia [Les opérateurs bit-à-bit] Supression lien vers tuto en chantier inexistant
Ligne 78: Ligne 78:
     * De la base 11 à la base 36, les lettres minuscules ou majuscules peuvent être utilisées indifféremment.     * De la base 11 à la base 36, les lettres minuscules ou majuscules peuvent être utilisées indifféremment.
     * De la base 37 à la base 64, les lettres minuscules, majuscules, @ et _ sont à utiliser dans cet ordre.     * De la base 37 à la base 64, les lettres minuscules, majuscules, @ et _ sont à utiliser dans cet ordre.
 +
 +Exemple :
 +<code user>
 +echo $(( 2#101010 )) # Nombre binaire (base 2)
 +</​code><​code>​
 +42
 +</​code>​
 ===== Les opérateurs arithmétiques ===== ===== Les opérateurs arithmétiques =====
  
Ligne 85: Ligne 92:
 ^  Opérateurs ​ ^  Désignations ​ ^  Résultats ​ ^ ^  Opérateurs ​ ^  Désignations ​ ^  Résultats ​ ^
 | Opérateurs unaires ||| | Opérateurs unaires |||
-| **''​+''​** //expr// | Signe positif | Valeur de //expr// + **''​+''​** //​expr// ​   Signe positif ​    | Valeur de //​expr// ​ 
-| **''​-''​** //expr// | Signe négatif | Opposé de //expr// |+ **''​-''​** //​expr// ​   Signe négatif ​    | Opposé de //​expr// ​  |
 | Opérateurs binaires ||| | Opérateurs binaires |||
-| //expr1// **''​+''​** //expr2// | Addition | //expr2// ajouté à //expr1// + //expr1// **''​+''​** //​expr2// ​   Addition ​  | //expr2// ajouté à //​expr1// ​ 
-| //expr1// **''​-''​** //expr2// | Soustraction | //expr2// retiré de //expr1// + //expr1// **''​-''​** //​expr2// ​   Soustraction ​  | //expr2// retiré de //​expr1// ​ 
-| //expr1// **''​*''​** //expr2// | Multiplication| //expr1// multiplié par //expr2// + //expr1// **''​*''​** //​expr2// ​   Multiplication ​  | //expr1// multiplié par //​expr2// ​ 
-| //expr1// **''/''​** //expr2// | Division | //expr1// divisé par //expr2// + //expr1// **''/''​** //​expr2// ​   Division ​  | //expr1// divisé par //​expr2// ​ 
-| //expr1// **''​%''​** //expr2// | Modulo | Reste de la division de //expr1// par //​expr2//​ | + //expr1// **''​%''​** //​expr2// ​   Modulo ​  | Reste de la division de //expr1// par //​expr2// ​ 
-| //expr1// **''<​nowiki>​**</​nowiki>''​** //expr2//| Puissance ​ | //expr1// multiplié par lui-même //expr2// fois | + //expr1// **''<​nowiki>​**</​nowiki>''​** //​expr2// ​   Puissance ​  | //expr1// multiplié par lui-même //expr2// fois  
- +|  //expr//, //expr1// et //expr2//, sont sujettes au remplacement des paramètres (et des variables), à la substitution de commandes et à la suppression des protections. |||Exemples :
-Exemples :+
  
 <code user> <code user>
Ligne 150: Ligne 156:
 |  //var// **''​|=''​** //​expr// ​ |  Affectation par le OU binaire ​ |  //var// = //var// <​nowiki>​|</​nowiki>​ //​expr// ​ | |  //var// **''​|=''​** //​expr// ​ |  Affectation par le OU binaire ​ |  //var// = //var// <​nowiki>​|</​nowiki>​ //​expr// ​ |
 |  //var// **''​^=''​** //​expr// ​ |  Affectation par le OU exclusif binaire ​ |  //var// = //var// <​nowiki>​^</​nowiki>​ //​expr// ​ | |  //var// **''​^=''​** //​expr// ​ |  Affectation par le OU exclusif binaire ​ |  //var// = //var// <​nowiki>​^</​nowiki>​ //​expr// ​ |
- +| //expr//, est sujette au remplacement des paramètres (et des variables), à la substitution de commandes et à la suppression des protections. |||Exemples :
-Exemples :+
  
 <code user> <code user>
Ligne 375: Ligne 380:
 168 168
 </​code>​ </​code>​
- 
-Voir aussi : 
- 
-  * [[atelier:​chantier:​bash:​operations-les-nombres-binaires|Opérations sur les nombres binaires]] 
  
 ===== Les opérateurs conditionnels ===== ===== Les opérateurs conditionnels =====
Ligne 407: Ligne 408:
 <code user> <code user>
 a=42 b=10 a=42 b=10
-echo $((a ? b > 0 ? 100 : -100 : 24 ))+echo $(( a ? b > 0 ? 100 : -100 : 24 ))
 b=-10 b=-10
-echo $((a ? b > 0 ? 100 : -100 : 24 ))+echo $(( a ? b > 0 ? 100 : -100 : 24 ))
 a=0 a=0
-echo $((a ? b > 0 ? 100 : -100 : 24 ))+echo $(( a ? b > 0 ? 100 : -100 : 24 ))
  
 unset a b unset a b
Ligne 423: Ligne 424:
  
 <code user> <code user>
-echo $((24<​42 ​? (b > 0 ? 100 :-100) : 24 ))+echo $(( ? (b > 0 ? 100 :-100) : 24 ))
 </​code><​code>​ </​code><​code>​
 24 24
Ligne 446: Ligne 447:
 ===== Priorités des opérateurs ===== ===== Priorités des opérateurs =====
  
-La priorité des opérateurs précise l'​ordre dans lequel les opérations sont effectués ​dans une expression complexe.\\+La priorité des opérateurs précise l'​ordre dans lequel les opérations sont effectuées ​dans une expression complexe.\\
 L'​associativité permet de définir l'​ordre des opérations pour les opérateurs de même priorité.\\  ​ L'​associativité permet de définir l'​ordre des opérations pour les opérateurs de même priorité.\\  ​
 La priorité et l'​associativité des opérateurs des commande **let** et **<​nowiki>​((...))</​nowiki>​** sont identiques au langage C. La priorité et l'​associativité des opérateurs des commande **let** et **<​nowiki>​((...))</​nowiki>​** sont identiques au langage C.
Ligne 453: Ligne 454:
 ^  Opérateurs ​ ^  Désignations ​ ^  Associativités ​ ^ ^  Opérateurs ​ ^  Désignations ​ ^  Associativités ​ ^
 | Les priorités sont classé ci-dessous par ordre décroissant.\\ Sur une même ligne, les opérateurs ont même priorité. ||| | Les priorités sont classé ci-dessous par ordre décroissant.\\ Sur une même ligne, les opérateurs ont même priorité. |||
-|  **''​(''​**...**''​)''​** | ​ Parenthèses ​ ||+|  **''​(''​**...**''​)''​** | ​ Parenthèses ​ | |
 |  expr**''​++''​** expr**''​--''​** ​  ​ | ​ Post-incrément et post-décrément de variables ​ |  ->  | |  expr**''​++''​** expr**''​--''​** ​  ​ | ​ Post-incrément et post-décrément de variables ​ |  ->  |
 |  **''​-''​** **''​+''​** ​ |  Moins et plus unaires ​ | ​ <-  | |  **''​-''​** **''​+''​** ​ |  Moins et plus unaires ​ | ​ <-  |
Ligne 462: Ligne 463:
 |  **''​+''​** **''​-''​** ​ |  Addition, soustraction | ​ ->  | |  **''​+''​** **''​-''​** ​ |  Addition, soustraction | ​ ->  |
 |  **''<​nowiki><<</​nowiki>''​** **''<​nowiki>>></​nowiki>''​** ​ |  Décalage arithmétique à gauche et à droite ​ |  ->  | |  **''<​nowiki><<</​nowiki>''​** **''<​nowiki>>></​nowiki>''​** ​ |  Décalage arithmétique à gauche et à droite ​ |  ->  |
-|  **''<​nowiki><​=</​nowiki>''​** **''<​nowiki>>​=</​nowiki>''​** **''<''​** ***''>''​** ​ |  Relationnels ​ |  ->  |+|  **''<​nowiki><​=</​nowiki>''​** **''<​nowiki>>​=</​nowiki>''​** **''<''​** **''>''​** ​ |  Relationnels ​ |  ->  |
 |  **''<​nowiki>​==</​nowiki>''​** **''<​nowiki>​!=</​nowiki>''​** ​ |  Egalité et différence ​ |  ->  | |  **''<​nowiki>​==</​nowiki>''​** **''<​nowiki>​!=</​nowiki>''​** ​ |  Egalité et différence ​ |  ->  |
 |  **''&''​** ​ | ​ ET binaire ​ | ​ ->  | |  **''&''​** ​ | ​ ET binaire ​ | ​ ->  |
Ligne 472: Ligne 473:
 |  **''​=''​** **''<​nowiki>​*=</​nowiki>''​** **''<​nowiki>/​=</​nowiki>''​** **''<​nowiki>​%=</​nowiki>''​** **''<​nowiki>​+=</​nowiki>''​** **''<​nowiki>​-=</​nowiki>''​** **''<​nowiki><<​=</​nowiki>''​** **''<​nowiki>>>​=</​nowiki>''​** **''<​nowiki>&​=</​nowiki>''​** **''<​nowiki>​^=</​nowiki>''​** **''<​nowiki>​|=</​nowiki>''​** ​ | ​ Affectations | ​ <-  | |  **''​=''​** **''<​nowiki>​*=</​nowiki>''​** **''<​nowiki>/​=</​nowiki>''​** **''<​nowiki>​%=</​nowiki>''​** **''<​nowiki>​+=</​nowiki>''​** **''<​nowiki>​-=</​nowiki>''​** **''<​nowiki><<​=</​nowiki>''​** **''<​nowiki>>>​=</​nowiki>''​** **''<​nowiki>&​=</​nowiki>''​** **''<​nowiki>​^=</​nowiki>''​** **''<​nowiki>​|=</​nowiki>''​** ​ | ​ Affectations | ​ <-  |
 |  **'',''​** ​ | ​ Virgule ​ | ​ | |  **'',''​** ​ | ​ Virgule ​ | ​ |
-| Sources : Les priorités proviennent de page du manuel de bash (section ÉVALUATION ARITHMÉTIQUE), les associativités du C. |||+| Sources : Les priorités proviennent de page du manuel de bash (section ÉVALUATION ARITHMÉTIQUE).\\ Les associativités du langage ​C. |||
  
  
-Les parenthèses ont la priorité la plus haute, elles permettent d'​outre passer toutes les autres.+Les parenthèses ont la priorité la plus haute, elles permettent d'​outre-passer toutes les autres.
  
 Exemples : Exemples :
doc/programmation/shells/page-man-bash-iv-symboles-dans-les-calculs-mathematiques.1677443039.txt.gz · Dernière modification: 26/02/2023 21:23 par agp91

Pied de page des forums

Propulsé par FluxBB