18 ответов:
мод просто означает, что вы берете остаток после выполнения деления. Так как 4 переходит в 2 нулевых раза, вы в конечном итоге с остатком 2.
по модулю это остаток, а не деление.
2 / 4 = 0R2 2 % 4 = 2знак
%часто используется для оператора по модулю, вместо словаmod.на
x % 4, вы получаете следующую таблицу (для 1-10)x x%4 ------ 1 1 2 2 3 3 4 0 5 1 6 2 7 3 8 0 9 1 10 2
по модулю (mod,%) - оператор остатка.
2%2 = 0 (2/2 = 1 remainder 0) 1%2 = 1 (1/2 = 0 remainder 1) 4%2 = 0 (4/2 = 2 remainder 0) 5%2 = 1 (5/2 = 2 remainder 1)
гораздо проще, если вы используете бананы и группу людей. Скажем, у вас есть 1 банан и группа из 6 человек, это вы хотели выразить: 1 мод 6 / 1 % 6 / 1 по модулю 6. Вам понадобится 6 бананов для каждого человека в группе, чтобы быть сытым и счастливым. Итак, если у вас есть 1 банан и вам нужно поделиться им с 6 людьми, но вы можете поделиться только если у вас есть 1 банан для каждого члена группы, то есть 6 человек, тогда у вас будет 1 банан (остаток, не разделенный ни на кого в группе), то же самое касается 2 бананов. Тогда вы будете есть 2 банана в качестве остатка (ничего общего). Но когда вы получаете 6 бананов, тогда вы должны быть счастливы, потому что тогда есть 1 банан для каждого члена группы из 6 человек, а остальное-0 или никаких бананов не осталось, когда вы разделили все 6 бананов на 6 человек. Теперь, для 7 бананов и 6 человек в группе, у вас тогда будет 7 mod 6 = 1, это потому, что вы дали 6 человек по 1 банану, а 1 банан-это остаток. Для 12 mod 6 или 12 бананов, разделенных на 6 человек, каждый из них будет иметь два банана, а остаток затем 0.
Надеюсь, вам понравится =)
Я тоже был смущен этим всего несколько минут назад. Затем я сделал деление длинной рукой на листе бумаги, и это имело смысл:
- 4 переходит в 2 ноль раз.
- 4 раза 0 равно 0.
- вы ставите этот ноль под 2 и вычитаете, что оставляет 2.
Это все, что компьютер собирается принять эту проблему. Компьютер останавливается там и возвращает 2, что имеет смысл, так как это то, что "%" (mod) просит.
мы были обучены, чтобы положить в десятичной и продолжай за чего это может быть нелогичным на первый взгляд.
оператор по модулю вычисляет остаток от деления двух целочисленных операндов. Вот несколько примеров:
23 % 10 evaluates to 3 (because 23/10 is 2 with a remainder of 3) 50 % 50 evaluates to 0 (50/50 is 1 with a remainder of 0) 9 % 100 evaluates to 9 (9/100 is 0 with a remainder of 9)
кто-то связался со мной и попросил объяснить более подробно мой ответ в комментарии к вопросу. Итак, вот что я ответил этому человеку, если он может помочь кому-то еще:
операция по модулю дает вам остаток евклидова разложения (который работает только с целыми, а не вещественными числами). Если у вас есть такой что A = B * C + D( С D
Предположим, у вас есть объекты (которые можно не резать). И вы хотите распределите такое же количество этих объектов для B людей. Пока у вас есть более B объектов, вы даете каждому из них 1 и повторяете. Когда у вас осталось меньше B объектов, вы остановитесь и сохраните оставшиеся объекты. Количество раз, когда вы повторили операцию, давайте позвони по этому номеру с, частное. Количество объектов, которые вы держите на конец, назовем его D, это остаток.
Если у вас есть 2 объекта и 4 человек. У вас уже есть менее 4 объекты. Таким образом, каждый человек получает 0 объектов, а вы держите 2.
вот почему 2 по модулю 4 равно 2.
mod означает развертку при делении на. Таким образом, 2, разделенное на 4, равно 0 с оставшимися 2. Поэтому 2 mod 4 - это 2.
Как все вышеперечисленные комментарии упоминали тот факт, что его остаток.
Я просто хотел поставить мои 2 пенса на том, где я использую ключевое слово "mod" много в xsl
чтобы получить таблицу html со строками, которые имеют альтернативные цвета (красный, синий, красный, синий, красный и т. д...)
Я использую
<!-- if the rows position is a even number then give it a class of red --> <xsl:if test="position() mod 2 = 0"> <xsl:attribute name="class"> red </xsl:attribute> </xsl:if> ..... <tr> <tr class="red"> <tr> <tr class="red"> <tr> <tr class="red">
по модулю-это остаток, выраженный в виде целого числа, математического выражения деления.
Итак, допустим, у вас есть пиксель на экране в позиции 90, где экран имеет ширину 100 пикселей и добавляет 20, он обернется вокруг позиции 10. Почему...потому что 90 + 20 = 110 значит 110 % 100 = 10.
для меня, чтобы понять это, я считаю, что модуль-это целочисленное представление дробного числа. Кроме того, если вы делаете выражение назад и обработать остаток в виде дробного числа, а затем добавляется к делителю он даст вам ваш оригинальный ответ.
примеры:
100 (A) --- = 14 mod 2 7 123 (B) --- = 8 mod 3 15 3 (C) --- = 0 mod 3 4отменено инженерии:
2 14(7) 2 98 2 100 (A) 14 mod 2 = 14 + --- = ----- + --- = --- + --- = --- 7 7 7 7 7 7 3 8(15) 3 120 3 123 (B) 8 mod 3 = 8 + --- = ----- + --- = --- + --- = --- 15 15 15 15 15 15 3 3 (B) 0 mod 3 = 0 + --- = --- 4 4
когда вы делите 2 на 4, Вы получаете 0 С 2 оставшимися или оставшимися. По модулю является остаток от деления числа.
Я думаю, что вы путаетесь в том, как читается уравнение по модулю.
когда мы пишем уравнение деления, такие как
2/4мы делим 2 на 4.когда записывается уравнение по модулю, например
2 % 4мы делим2 by 4(подумайте 2 над 4) и возвращая остаток.
MOD-оператор остатка. Вот почему 2 mod 4 дает 2 в качестве остатка. 4*0=0, а затем 2-0=2. Чтобы сделать его более ясным, попробуйте сделать то же самое с 6 mod 4 или 8 mod 3.
Это алгоритм Евклида.
Эл.г
a mod b = k * b + c => a mod b = c, где k-целое число, а c-ответ
4 mod 2 = 2 * 2 + 0 => 4 mod 2 = 0
27 mod 5 = 5 * 5 + 2 => 27 mod 5 = 2
Так что твой ответ
2 mod 4 = 0 * 4 + 2 => 2 mod 4 = 2
для:
2 mod 4мы можем использовать эту маленькую формулу, которую я придумал, подумав немного, может быть, она уже определена где-то, я не знаю, но работает для меня, и это действительно полезно.
A mod B = Cгде C-ответ
K * B - A = |C|где K - сколько раз B вписывается в A
2 mod 4будет:
0 * 4 - 2 = |C|
C = |-2| => 2надеюсь, что это работает для вас :)
Mod операция работает с напоминанием.
Это называется модулярной арифметики.
a==b(mod m) then m|(a-b) a-b=km a=b+km So, 2=2+0*4
для визуального способа думать об этом, представьте себе циферблат часов, который, в вашем конкретном примере, идет только на 4 вместо 12. Если вы начнете в 4 на сутки (которая нравится начиная с нуля) и обойдите ее по часовой стрелке в течение 2 часов, вы приземлитесь на 2, так же, как ходить вокруг него по часовой стрелке на 6 "часов" будет также посадить вас на 2 (6 мод 4 == 2 так как 2 мод 4 == 2).
Comments