Mon ami a dit qu'il y avait des différences entre "mod" et "reste". Si tel est le cas, quelles sont ces différences entre C et C ++? Est-ce que '%' signifie "mod" ou "rem" en C?
Réponses
Trop de publicités?En C, %
est le reste.
Lorsque les entiers sont divisés, le résultat de l'opérateur / est algébrique quotient avec tout partie fractionnaire mis au rebut... (Ce qui est souvent appelé "la troncature vers zéro".) C11dr §6.5.4 6
Les opérandes de l' %
opérateur aura de type entier. C11dr §6.5.4 2
Le résultat de l' /
opérateur est le quotient de la division du premier opérande par le second; le résultat de l' %
opérateur est le reste ... C11dr §6.5.4 5
C n'a pas de définir un entier module de fonction. Une telle fonction peut suivre la division Euclidienne qui diffère de C a%b
fonctionnement lors de l' a
est négatif.
7 % 3 = 1
7 % -3 = 1
-7 % 3 = -1
-7 % -3 = -1
modulo comme division Euclidienne
7 modulo 3 = 1
7 modulo -3 = 1
-7 modulo 3 = 2
-7 modulo -3 = 2
En C, modf()
est la référence dans l'index que le module de la fonction.
Le modf fonctions saut de la valeur de l'argument intégrale et de la fraction de parties, chacune d' qui a le même type et de même signe que l'argument.