In a code written by me, I have used both below functions to calculate mod of displayed negative number.
fmod(-10,11)
(-10, 11)
Though the correct answer is 1. It always displays the answer -10 in c++. How I can solve it?
In a code written by me, I have used both below functions to calculate mod of displayed negative number.
fmod(-10,11)
(-10, 11)
Though the correct answer is 1. It always displays the answer -10 in c++. How I can solve it?
double fmod (double numer, double denom);
The floating-point remainder of the division operationx/y
calculated by this function is exactly the valuex - n*y
, wheren
isx/y
with its fractional part truncated.
The returned value has the same sign asx
and is less thany
in magnitude.
In your case it is -10 - (-10)/11 * 11 = -10 - 0 * 11 = -10
, which is correct for that implementation of fmod
. If you need another answer, you should implement your own version, as modulo
is defined in different ways for negative numbers.