tags:

views:

297

answers:

9

I have next code

int a,b,c;
b=1;
c=36;
a=b%c;

What does "%" operator mean?

+20  A: 

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)

0xA3
+1 for showing behaviours for non-ints!
Frank Shearar
+1  A: 

It is the modulo operator. i.e. it the remainder after division 1 % 36 == 1 (0 remainder 1)

mikej
+6  A: 

That is the Modulo operator. It will give you the remainder of a division operation.

Justin Niessner
+2  A: 

It's the modulus operator. That is, 2 % 2 == 0, 4 % 4 % 2 == 0 (2, 4 are divisible by 2 with 0 remainder), 5 % 2 == 1 (2 goes into 5 with 1 as remainder.)

Frank Shearar
+1  A: 

That is the modulo operator, which finds the remainder of division of one number by another.

So in this case a will be the remainder of b divided by c.

Mark B
+2  A: 

% 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.

See also

References

polygenelubricants
A: 

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
šljaker
+2  A: 

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.

Ben Robinson
A: 

is basic operator available in almost every language and generally known as modulo operator. it gives remainder as result.

Kinjal