DIV |
Division |
---|---|
Langage C++ | cstdlib (stdlib.h) |
Syntaxe
div_t div(int a,int b); |
ldiv_t div(long a, long b); |
Paramètres
Nom | Description |
---|---|
a | Ce paramètre permet d'indiquer le nombre à diviser |
b | Ce paramètre permet d'indiquer le diviseur |
Description
Cette fonction permet de retourner le quotient et le reste séparément en effectuant la division a par b.
Remarques
- La deuxième syntaxe (la version long) est uniquement disponible dans les compilateurs C++ et non pas dans les compilateur C.
- La syntaxe avec la version int de la fonction div() renvoie le quotient et le reste du numérateur / dénominateur de l'opération dans une structure de type div_t. La syntaxe de la
version long de la fonction div() renvoie le quotient et le reste dans une structure de type ldiv_t. La syntaxe de la version long de
div() offre les mêmes capacités que la fonction ldiv(). Le type de structure div_t aura au moins ces deux champs :
Le type de structure ldiv_t aura au moins ces deux champs :
- Définition et utilité : La fonction div en C++ est utilisée pour effectuer une division entière, c'est-à-dire pour diviser deux entiers tout en obtenant à la fois le quotient et le reste de cette division. Elle est définie dans la bibliothèque <cstdlib> et renvoie un objet de type div_t, contenant les résultats de la division.
- Comportement avec des nombres négatifs : La fonction div gère également les cas où les nombres impliqués sont négatifs. Le comportement suit les règles des divisions entières dans les systèmes informatiques : le quotient prend le signe du numérateur, tandis que le reste prend le signe du diviseur. Par exemple, si a est négatif et b positif, le quotient sera négatif et le reste positif.
- Précision de la division : Contrairement à l'opérateur de division classique (/) renvoyant seulement le quotient, div permet de récupérer à la fois le quotient et le reste, ce qui est particulièrement utile dans les situations où il est nécessaire de connaître les deux résultats d'une division entière. Cela simplifie les calculs où le reste est important, comme dans les applications de calculs de jours, de répartitions ou de modélisation mathématique.
- Limites du diviseur : Comme pour toute division, il est important de vérifier que le diviseur n'est pas égal à zéro avant d'appeler div, car cela entraînerait un comportement indéfini (division par zéro). Assurez-vous de valider que b est non nul pour éviter des erreurs d'exécution.
- Alternatives à div : Bien que div soit pratique pour obtenir à la fois le quotient et le reste en une seule étape, dans des cas simples où seule une partie de l'information est nécessaire (par exemple, seulement le quotient ou seulement le reste), les opérateurs classiques / et % peuvent suffire : Le quotient peut être obtenu avec l'opérateur /. Le reste peut être obtenu avec l'opérateur %. Cependant, div reste utile lorsque les deux résultats sont nécessaires et que vous voulez éviter de faire deux calculs séparés.
Exemple
Voici quelques exemples typiques de l'utilisation de cette fonction :

- #include <iostream>
- #include <cstdlib>
-
- int main()
- {
- std::cout << "div(-81,9) = " << div(-81,9).quot << std::endl;
- std::cout << "div(15,3) = " << div(15,3).quot << std::endl;
- std::cout << "div(16,3) = " << div(16,3).quot << std::endl;
- std::cout << "div(17,3) = " << div(17,3).quot << std::endl;
- std::cout << "div(18,3) = " << div(18,3).quot << std::endl;
- std::cout << "div(19,3) = " << div(19,3).quot << std::endl;
- std::cout << "div(0,1) = " << div(0,1).quot << std::endl;
- return 0;
- }
-
on obtiendra le résultat suivant :
div(-81,9) = -9div(15,3) = 5
div(16,3) = 5
div(17,3) = 5
div(18,3) = 6
div(19,3) = 6
div(0,1) = 0
Exemple d'Utilisation Voici un exemple simple de l'utilisation de div : cpp Copier Modifier #include
Voir également
Langage de programmation - C++ - Référence procédures et fonctions - ldiv
Langage de programmation - C - Référence procédures et fonctions - div
Références
Langage C, Edition Micro-Application, Gehard Willms, 2001, ISBN: 2-7429-2008-0, page 731.
Borland C++ for Windows 4.0, Library Reference, Edition Borland, 1993, Part # BCP1240WW21772, page 67.
Dernière mise à jour : Lundi, le 3 août 2015