I understand the Modulus operator in terms of the following expression:
7 % 5
This would return 2 due to the fact that 5 goes into 7 once and then gives the 2 that is left over, however my confusion comes when you reverse this statement to read:
5 % 7
This gives me the value of 5 which confuses me slightly. Although the whole of 7 doesn't go into 5, part of it does so why is there either no remainder or a remainder of positive or negative 2?
If it is calculating the value of 5 based on the fact that 7 doesn't go into 5 at all why is the remainder then not 7 instead of 5?
I feel like there is something I'm missing here in my understanding of the modulus operator.
This question is tagged with
~ Asked on 2013-07-08 10:45:20
(This explanation is only for positive numbers since it depends on the language otherwise)
The Modulus is the remainder of the euclidean division of one number by another.
% is called the modulo operation.
9 divided by
2 but it remains
9 / 4 = 2 and
9 % 4 = 1.
In your example: 5 divided by 7 gives 0 but it remains 5 (
5 % 7 == 5).
The modulo operation can be calculated using this equation:
a % b = a - floor(a / b) * b
floor(a / b)represents the number of times you can divide
floor(a / b) * bis the amount that was successfully shared entirely
a) minus what was shared equals the remainder of the division
Applied to the last example, this gives:
5 % 7 = 5 - floor(5 / 7) * 7 = 5
That said, your intuition was that it could be -2 and not 5. Actually, in modular arithmetic,
-2 = 5 (mod 7) because it exists k in Z such that
7k - 2 = 5.
You may not have learned modular arithmetic, but you have probably used angles and know that -90° is the same as 270° because it is modulo 360. It's similar, it wraps! So take a circle, and say that it's perimeter is 7. Then you read where is 5. And if you try with 10, it should be at 3 because
10 % 7 is 3.
~ Answered on 2013-07-08 11:03:56
Some of the answers here are complicated for me to understand. I will try to add one more answer in an attempt to simplify the way how to look at this.
7 % 5 = 2
Each person should get one pizza slice.
Divide 7 slices on 5 people and every one of the
5 people will get one pizza slice and we will end up with
2 slices (remaining).
7 % 5 equals
2 is because
7 is larger than
5 % 7 = 5
Each person should get one pizza slice
5 is less than
7. So by definition, you cannot divide whole
7 people. So the division doesn't take place at all and you end up with the same amount you started with which is
The process is basically to ask two questions:
Example A: (7 % 5)
(Q.1) What number to multiply 5 in order to get 7?
Two Conditions: Multiplier starts from `0`. Output result should not exceed `7`.
Multiplier is zero
0 x 5 = 0
Still, we are short so we add one (+1) to multiplier.
1 x 5 = 5
We did not get 7 yet, so we add one (+1).
2 x 5 = 10
Now we exceeded
2 is not the correct multiplier.
Let's go back one step (where we used
1) and hold in mind the result which is
5 is the key here.
(Q.2) How much do we need to add to the
5 (the number we just got from step 1) to get
We deduct the two numbers:
7-5 = 2.
So the answer for:
7 % 5 is
Example B: (5 % 7)
1- What number we use to multiply 7 in order to get 5?
Two Conditions: Multiplier starts from `0`. Output result and should not exceed `5`.
0 x 7 = 0
We did not get 5 yet, let's try a higher number.
1 x 7 = 7
Oh no, we exceeded
5, let's get back to the previous step where we used
0 and got the result
2- How much we need to add to
0 (the number we just got from step 1) in order to reach the value of the number on the left
It's clear that the number is 5.
5-0 = 5
5 % 7 = 5
Hope that helps.
~ Answered on 2018-09-06 10:15:04