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 →
Ci-dessous, les différences entre deux révisions de la page.
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 [26/02/2023 02:25] agp91 [Les opérateurs logiques] |
doc:programmation:shells:page-man-bash-iv-symboles-dans-les-calculs-mathematiques [26/02/2023 11:19] agp91 [Les opérateurs arithmétiques] |
||
---|---|---|---|
Ligne 48: | Ligne 48: | ||
Elle est délaissée depuis la version 2.0 de bash au profit de **<nowiki>((...))</nowiki>**.\\ | Elle est délaissée depuis la version 2.0 de bash au profit de **<nowiki>((...))</nowiki>**.\\ | ||
\\ | \\ | ||
- | Pour des raisons de rétrocompatibilités, elle est toujours active dans nos bash modernes.\\ | ||
- | Mais n'est plus documentée dans la page du manuel.\\ | ||
\\ | \\ | ||
- | Viendra un jour où, **$[...]** ne sera plus. | + | <file config Extrait de la page du manuel de bash> |
+ | L'ancien format $[expression] est obsolète et sera supprimé dans les prochaines versions de bash. | ||
+ | </file> | ||
+ | \\ | ||
+ | Pour des raisons de rétrocompatibilités, elle est toujours active dans nos bash modernes.\\ | ||
+ | Mais viendra un jour où, **$[...]** ne sera plus. | ||
</note> | </note> | ||
Ligne 113: | Ligne 116: | ||
a=42 a^2=1764 | a=42 a^2=1764 | ||
</code> | </code> | ||
+ | |||
+ | <note important> | ||
+ | La division par 0 retourne une erreur.\\ | ||
+ | \\ | ||
+ | <code user> | ||
+ | echo $((42/0)) | ||
+ | </code><code> | ||
+ | bash: 42/0 : division par 0 (le symbole erroné est « 0 ») | ||
+ | </code> | ||
+ | </note> | ||
+ | |||
===== Les opérateurs d'affectation ===== | ===== Les opérateurs d'affectation ===== | ||
Ligne 118: | Ligne 132: | ||
| Liste des opérateurs d'affectation ||| | | Liste des opérateurs d'affectation ||| | ||
- | ^ Opérateurs ^ Désignations ^ Résultats ^ | + | ^ Opérateurs ^ Désignations ^ Résultats ^ |
| Opérateurs unaires ||| | | Opérateurs unaires ||| | ||
- | | **''++''** //var// | Ré-affectation par la pré-incrémentation à 1 | //var// = //var// + 1 puis retourne //var// | | + | | **''++''** //var// | Affectation par la pré-incrémentation à 1 | //var// = //var// + 1 puis retourne //var// | |
- | | //var// **''++''** | Ré-affectation par la post-incrémentation à 1 | Retourne //var//, puis //var// = //var// + 1 | | + | | //var// **''++''** | Affectation par la post-incrémentation à 1 | Retourne //var//, puis //var// = //var// + 1 | |
- | | **''--''** //var// | Ré-affectation par la pré-décrémentation à 1 | //var// = //var// - 1 puis retourne //var// | | + | | **''--''** //var// | Affectation par la pré-décrémentation à 1 | //var// = //var// - 1 puis retourne //var// | |
- | | //var// **''--''** | Ré-affectation par la post-décrémentation à 1 | Retourne //var//, puis //var// = //var// - 1 | | + | | //var// **''--''** | Affectation par la post-décrémentation à 1 | Retourne //var//, puis //var// = //var// - 1 | |
| Opérateurs binaires ||| | | Opérateurs binaires ||| | ||
- | | //var// **''=''** //expr// | Simple affectation | Affecte //epxr// à la variable //var//| | + | | //var// **''=''** //expr// | Simple affectation | Affecte //epxr// à la variable //var// | |
- | | //var// **''+=''** //expr// | Ré-affectation par l'incrémentation | //var// = //var// + //expr// | | + | | //var// **''+=''** //expr// | Affectation par l'incrémentation | //var// = //var// + //expr// | |
- | | //var// **''-=''** //expr// | Ré-affectation par la décrémentation | //var// = //var// - //expr// | | + | | //var// **''-=''** //expr// | Affectation par la décrémentation | //var// = //var// - //expr// | |
- | | //var// **''*=''** //expr// | Ré-affectation par la multiplication | //var// = //var// * //expr// | | + | | //var// **''*=''** //expr// | Affectation par la multiplication | //var// = //var// * //expr// | |
- | | //var// **''/=''** //expr// | Ré-affectation par la division | //var// = //var// / //expr// | | + | | //var// **''/=''** //expr// | Affectation par la division | //var// = //var// / //expr// | |
- | | //var// **''%=''** //expr// | Ré-affectation par modulo | //var// = //var// % //expr// | | + | | //var// **''%=''** //expr// | Affectation par modulo | //var// = //var// % //expr// | |
+ | | //var// **''<nowiki><<=</nowiki>''** //expr// | Ré-affectation par le décalage\\ bit-à-bit à gauche | //var// = //var// <nowiki><<</nowiki> //expr// | | ||
+ | | //var// **''<nowiki>>>=</nowiki>''** //expr// | Ré-affectation par le décalage\\ bit-à-bit à droite | //var// = //var// <nowiki>>></nowiki> //expr// | | ||
+ | | //var// **''&=''** //expr// | Affectation par le ET 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// | | ||
Exemples : | Exemples : |