What does the '%' operator mean?

后端 未结 11 1717
执笔经年
执笔经年 2020-12-11 18:28

I have next code

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

What does \"%\" operator mean?

相关标签:
11条回答
  • 2020-12-11 18:56

    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 =]


    0 讨论(0)
  • 2020-12-11 18:57

    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
    
    0 讨论(0)
  • 2020-12-11 18:59

    % 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

    • Wikipedia/Modulo operation

    References

    • MSDN/C# Language Reference/% operator
    0 讨论(0)
  • 2020-12-11 19:02

    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.

    0 讨论(0)
  • 2020-12-11 19:04

    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)

    0 讨论(0)
提交回复
热议问题