Stations de travail en ligne OnWorks Linux et Windows

Logo

Hébergement gratuit en ligne pour les postes de travail

<Précédent | Table des matières | Suivant>

Arithmétique simple

Les opérateurs arithmétiques ordinaires sont répertoriés dans le tableau ci-dessous :


Tableau 34-3 : Opérateurs arithmétiques


Description de l'opérateur

Description de l'opérateur

+ Addition


image

- Soustraction


image


image

* Multiplier


image

/ Division entière


image

** Exponentiation


image

% Modulo (reste)


image


La plupart d'entre eux s'expliquent d'eux-mêmes, mais la division entière et modulo nécessitent une discussion plus approfondie.

Comme l'arithmétique du shell ne fonctionne que sur des nombres entiers, les résultats de la division sont toujours des nombres entiers :



[moi@linuxbox ~]$ écho $(( 5 / 2 ))

2

[moi@linuxbox ~]$ écho $(( 5 / 2 ))

2


Cela rend la détermination d'un reste dans une opération de division plus importante :



[moi@linuxbox ~]$ écho $(( 5 % 2 ))

1

[moi@linuxbox ~]$ écho $(( 5 % 2 ))

1


En utilisant les opérateurs de division et modulo, nous pouvons déterminer que 5 divisé par 2 donne 2, avec un reste de 1.

Le calcul du reste est utile dans les boucles. Il permet d'effectuer une opération à des intervalles spécifiés pendant l'exécution de la boucle. Dans l'exemple ci-dessous, nous affichons une ligne de nombres, mettant en évidence chaque multiple de 5 :



#! / Bin / bash

# modulo : démontre l'opérateur modulo pour ((i = 0; i <= 20; i = i + 1)); faire

reste=$((i % 5))

if (( reste == 0 )); puis printf "<%d> " $i

d'autre

printf "%d " $i

fi fait

printf "\ n"

#! / Bin / bash

# modulo : démontre l'opérateur modulo pour ((i = 0; i <= 20; i = i + 1)); faire

reste=$((i % 5))

if (( reste == 0 )); puis printf "<%d> " $i

d'autre

printf "%d " $i

fi fait

printf "\ n"


Une fois exécuté, les résultats ressemblent à ceci :



[moi@linuxbox ~]$ forme

<0> 1 2 3 4 <5> 6 7 8 9 <10> 11 12 13 14 <15> 16 17 18 19 <20>

[moi@linuxbox ~]$ forme

<0> 1 2 3 4 <5> 6 7 8 9 <10> 11 12 13 14 <15> 16 17 18 19 <20>


Meilleur système d'exploitation Cloud Computing chez OnWorks :