% (mod) объяснение

Сегодня я писал программу на C#, и я использовал %для вычисления некоторого индекса... Моя программа не работала, поэтому я отладил его и понял, что «%» не работает, как в других известных мне языках программирования.

Например:

В Python %возвращает такие значения:

for x in xrange (-5, 6):
     print x, "% 5 =", x % 5

-5 % 5 = 0
-4 % 5 = 1
-3 % 5 = 2
-2 % 5 = 3
-1 % 5 = 4
0 % 5 = 0
1 % 5 = 1
2 % 5 = 2
3 % 5 = 3
4 % 5 = 4
5 % 5 = 0

В C#:

for (int i = -5; i < 6; i++)
{
    Console.WriteLine(i + " % 5 = " + i % 5);
}

-5 % 5 = 0
-4 % 5 = -4
-3 % 5 = -3
-2 % 5 = -2
-1 % 5 = -1
0 % 5 = 0
1 % 5 = 1
2 % 5 = 2
3 % 5 = 3
4 % 5 = 4
5 % 5 = 0

Я сделал что-то не так или %работает не так должен?

33
задан Peter Mortensen 23 October 2017 в 07:53
поделиться