#modulo
Вопрос:
В настоящее время я пытаюсь изучить Swift для разработки приложений для iOS. Я довольно новичок в программировании в целом, но у меня есть некоторый опыт работы на других языках
Я только что узнал об операторе по модулю или операторе остатка, в зависимости от того, как вы его называете. (%) Он должен возвращать остаток уравнения, верно?
var equation = 500 % 30
Когда я печатаю уравнение, оно пишет «20», но я не могу понять, почему? 30 не вписывается в 500 20 раз, это 16,6. Оператор / вернет 16, поэтому я ожидал, что % вернет все, что останется?
Пожалуйста, скажи мне, если я веду себя глупо, но я не могу этого понять.
Ответ №1:
a % b
не определяет, сколько раз b
вписывается a
. Оператор по модулю определяет, что остается, когда вы вычитаете наибольшее кратное b
, которое меньше, чем a
от a
. В этом случае наибольшее кратное 30
этому меньше, чем 500
есть 480
, и 500 - 480 = 20
, таким 500 % 30 = 20
образом .
Ответ №2:
Я чувствую себя глупо. Извините.
480-это наибольшее число, в которое может идеально вписаться 30, поэтому остается 20.