Manuel de suivi dynamique Solaris

Opérateurs arithmétiques

Vous pouvez utiliser dans vos programmes les opérateurs arithmétiques fournis par D présentés dans le tableau suivant. Ces opérateurs ont la même signification pour les nombres entiers qu'en ANSI-C.

Tableau 2–6 Opérateurs arithmétiques binaires en langage D

+

addition de nombres entiers 

-

soustraction de nombres entiers 

*

multiplication de nombres entiers 

/

division de nombres entiers 

%

pourcentage de nombres entiers 

L'arithmétique en langage D ne peut être exécutée que sur des opérandes de nombre entier ou sur des pointeurs, comme indiqué dans le Chapitre5Pointeurs et ensembles. Les programmes en langage D ne permettent pas d'exécuter des opérations arithmétiques sur des opérandes à virgule flottante. L'environnement d'exécution de DTrace n'exécute aucune action sur le dépassement de capacité supérieur ou inférieur des nombres entiers. Vous devez vérifier vous-même ces conditions dans les situations dans lesquelles un dépassement de capacité inférieur ou supérieur peut se produire.

L'environnement d'exécution de DTrace ne contrôle ni ne signale automatiquement les erreurs de division par zéro induites par une utilisation incorrecte des opérateurs / et %. Si un programme D exécute une opération de division invalide, DTrace désactive automatiquement l'instrumentation affectée et signale l'erreur. Les erreurs détectées par DTrace n'ont aucune incidence sur les autres utilisateurs de DTrace ou sur le noyau du système d'exploitation. Par conséquent, nul besoin de vous inquiéter si votre programme en D contient par inadvertance l'une de ces erreurs.

En plus de ces opérateurs binaires, vous pouvez également utiliser les opérateurs + et - comme opérateurs unaires ; ces opérateurs ont une priorité plus élevée que tout autre opérateur arithmétique binaire. L'ordre de priorité et les propriétés d'associativité pour tous les opérateurs en D sont présentés dans le Tableau 2–11. Vous pouvez contrôler la priorité en regroupant les expressions entre parenthèses ( ).