Opérateurs de comparaisons

Le problème exposé dans ce sujet a été résolu.

Salut,

Je co-écris actuellement un cours de C++, et une question m'est venue, concernant non pas le C++ mais les maths : les opérateurs de comparaison égal, non égal, supérieurs (strict et large), et inférieurs (strict et large) sont-ils bien les seuls opérateurs de comparaison en maths ? Comme ça, ça peut paraître bête comme question, mais je veux être sur de ne pas écrire de choses fausses.

Merci d'avance !

+1 -0

Je ne pense pas que la dénomination « opérateur de comparaison » soit la plus courante, je parlerai plutôt de « relation d'ordre ».

Holosmos

Sauf qu'il cite aussi "égal" et "différent", qui ne sont pas des relations d'ordre, non ? Donc pour l'info, je parlerai plutôt d'opérateurs de comparaison effectivement.

Ah mais du coup ça incluerait aussi ET, OU,…
Et puis parler de binaire dans un cours d'info, ça porte à confusion.
Je dirais inutile d'aller chercher le terme mathématique exact, c'est un cours d'info, pas de maths. Ca sert à comparer des nombres, donc opérateurs de comparaison irait très bien, c'est compréhensible. Inutile de dire que "tous sont présents", vu qu'il n'y en a pas beaucoup, tu vas tous les citer de toute façon.

Je dirais inutile d'aller chercher le terme mathématique exact, c'est un cours d'info, pas de maths. Ca sert à comparer des nombres, donc opérateurs de comparaison irait très bien, c'est compréhensible.

Bien sûr. Je disais ça au passage. Je connais pas plus juste comme dénomination mathématique, c'est tout.

+2 -0

Pas la peine de se compliquer la vie avec du formalisme mathématique, dire que les opérateurs de comparaison courants sont présents, c'est parfaitement correct ici. Ca tient plus de la définition d'opérateur (operator machin) que des maths (l'opérateur de déférencement n'a aucun "sens utile" en mathématique, ni celui de résolution des noms).

La notion de comparaison est fortement liee a ce que l'on compare.

En l'occurrence, en C++ tu as des types informatiques qui sont une projection plus ou moins fiable des ensembles mathematiques. Par exemple, les nombres entiers sont representes via l'arithmetique modulaire, les nombres reels sont representes par l'arithmetique flottante.

Ces types informatiques possedent des operateurs eux aussi informatiques (leurs regles sont differentes. Par exemple, l'operation d'addition des flottants n'est pas commutative associative).

La question 'les operateurs mathematiques sont-ils les meme en C++ et en mathematiques' n'as pas vraiment de sens. Le corps $(\mathbb{R}, +, \times )$ est different du corps des flottants $(\mathcal{F}, +, \times )$ par exemple. Sur papier, rien ne t'empeche de travailler avec l'un ou l'autre. En informatique, on ne peut representer en memoire l'ensemble $\mathbb{R}$ et donc on se contente en general de travailler sur $(\mathcal{F}, +, \times )$ ou sur tout autre corps possedant des proprietes interessantes, proche de $(\mathbb{R}, +, \times )$.

En particulier en C++, les POD arithmetiques implementent les operations sur $(\mathcal{F}, +, \times )$. Si a supposer que par 'operateurs de comparaison mathematiques' tu voulais faire reference implicitement aux operateurs sur l'ensemble des nombres reels, alors la reponse est: le C++ n'en dispose d'aucun puisque le C++ travaille nativement sur le corps des flottants.

+2 -0

C'est vrai, mais en fait c'était juste pour placer le débutant en terrain connu pour qu'il soit à l'aise.

(par contre, en quoi l'opération d'addition des flottants n'est pas commutative ? float1 + float2 == float2 + float1 il me semble ?)

mehdidou99

Bien sur, ma remarque est technique et peu d'utilisateurs feront de toute maniere du calcul numerique assez pousse pour rencontrer ce genre de problematiques. Ceci dit, ta question etait aussi plus ou moins technique.

Pour l'arithmetique, je voulais bien evidemment dire associative (et distributive). La commutativite n'est pas assuree par le standard C++ car il n'impose pas le respect de l'IEEE 754, mais au final je suppose que tres peu de materiel n'ont pas d'operation sur les flottants qui soit commutative.

+1 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte