I have next code
int a,b,c;
b=1;
c=36;
a=b%c;
What does \"%\" operator mean?
Okay well I did know this till just trying on a calculator and playing around so basically:
5 % 2.2 = 0.6
is like saying on a calculator 5/2.2 = 2.27
then you multiply that .27
times the 2.27
and you round and you get 0.6
. Hope this helps, it helped me =]
It is modulus operator
using System;
class Test
{
static void Main()
{
int a = 2;
int b = 6;
int c = 12;
int d = 5;
Console.WriteLine(b % a);
Console.WriteLine(c % d);
Console.Read();
}
}
Output:
0
2
%
is the remainder operator in many C-inspired languages.
3 % 2 == 1
789 % 10 = 9
It's a bit tricky with negative numbers. In e.g. Java and C#, the result has the same sign as the dividend:
-1 % 2 == -1
In e.g. C++ this is implementation defined.
It's is modulus, but you example is not a good use of it. It gives you the remainder when two integers are divided.
e.g. a = 7 % 3
will return 1, becuase 7 divided by 3 is 2 with 1 left over.
It is the modulo (or modulus) operator:
The modulus operator (%) computes the remainder after dividing its first operand by its second.
For example:
class Program
{
static void Main()
{
Console.WriteLine(5 % 2); // int
Console.WriteLine(-5 % 2); // int
Console.WriteLine(5.0 % 2.2); // double
Console.WriteLine(5.0m % 2.2m); // decimal
Console.WriteLine(-5.2 % 2.0); // double
}
}
Sample output:
1 -1 0.6 0.6 -1.2
Note that the result of the %
operator is equal to x – (x / y) * y
and that if y
is zero, a DivideByZeroException
is thrown.
If x
and y
are non-integer values x % y
is computed as x – n * y
, where n
is the largest possible integer that is less than or equal to x / y
(more details in the C# 4.0 Specification in section 7.8.3 Remainder operator).
For further details and examples you might want to have a look at the corresponding Wikipedia article:
Modulo operation (on Wikipedia)