Оператор Остатка
Оператор Остатка ( a % b ) вычисляет сколько останется от деления a на b и возвращает это значение
Заметьте:
Оператор остатка (%) еще известен как оператор модуля в других языках. Однако, в Swift это звучит как Оператор Остатка, поскольку он работает одинаково и с отрицательными числами .
Вот как этот оператор работает. Чтобы вычислить 9 % 4, сначала посчитайте сколько «4» поместится в «9»
Вы можете поместить две «4» внутри «9» и у вас останется 1.
В Swift это может быть записано как:
1 |
9 % 4 //равно 1 |
Чтобы определить ответ для a % b , оператор % считает следующее уравнение и возвращает остаток как значение
1 |
a = (b x какой-то множитель ) + остаток |
Где «какой-то множитель» это самое большое количество множителей b, которое поместится в a. Подставив 9 и 4 в это уравнение, получим:
1 |
9 = (4 x 2) + 1 |
Тот же метод применяется, когда рассчитывается остаток для отрицательного значения a:
1 |
-9 % 4 // равно - 1 |
Подставив -9 и 4 в это уравнение, получим:
1 2 |
-9 = (4 x 2) + -1 //возвращаемый остаток = - 1 |
Знак b игнорируется для отрицательных значений b. Это значит, что a % b и a % -b всегда возвращают тот же ответ.
Остаток для чисел с плавающей запятой
В отличии от оператора остатка C и Objective-C, в Swift оператор остатка от деления также может работать с числами с плавающей запятой:
1 |
8 % 2.5 // равно 0.5 |
В этом примере, 8 разделенное на 2.5 равно 3 с остатком 0.5, т.е. оператор остатка возвращает Double
значение 0.5