У меня есть следующий код
int a,b,c;
b=1;
c=36;
a=b%c;
Что означает оператор "%"?
Это оператор modulo (или modulus):
Оператор modulus (%) вычисляет остаток после деления первого операнда на второй.
Например:
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
}
}
Пример вывода:
1 -1 0.6 0.6 -1.2
Обратите внимание, что результат оператора %
равен x - (x / y) * y
и что если y
равен нулю, то возникает DivideByZeroException
.
Если x
и y
- нецелые значения, то x % y
вычисляется как x - n * y
, где n
- наибольшее возможное целое число, которое меньше или равно x / y
(подробнее в C# 4. 0 Specification в разделе 7.8.3 Remainder operator).
Более подробную информацию и примеры можно найти в соответствующей статье Википедии:
Операция модуло (в Википедии)
Это оператор по модулю. Это даст вам остаток от операции деления.
Это оператор модуля. То есть 2% 2 == 0, 4% 4% 2 == 0 (2, 4 делятся на 2 с остатком 0), 5% 2 == 1 (2 переходит в 5 с 1 в качестве остатка.)
%
- оператор остатка во многих языках, основанных на Си.
3 % 2 == 1
789 % 10 = 9
С отрицательными числами немного сложно. Например, в Java и C # результат имеет тот же знак, что и делимое:
-1 % 2 == -1
В, например, C ++ это реализация.
Это оператор по модулю . т.е. это остаток от деления 1% 36 == 1
(0 остаток 1)
Это оператор по модулю, который находит остаток от деления одного числа на другое.
Таким образом, в этом случае a
будет остатком от b
, деленного на c
.
Это модуль, но ваш пример - не лучшее его использование. Он дает остаток при делении двух целых чисел.
например, a = 7 % 3
вернет 1, потому что 7 разделить на 3 - это 2 с остатком 1.
- это базовый оператор, доступный почти на всех языках и обычно известный как оператор по модулю. в результате он дает остаток.
Это оператор модуля
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();
}
}
Вывод:
0
2