2014-02-05 2 views
-7

Я новичок в C и понял, что я не совсем понял разницу между / и %. Было бы очень полезно, если бы вы могли объяснить это мне. Благодаря!В чем разница между% и/в C?

+3

Это вопрос С, это не Objective-C специфичны. –

+1

Wikipedia имеет хорошее объяснение о '%': http://en.wikipedia.org/wiki/Modulo_Operation –

+2

Пройдите через книгу или какой-либо другой учебный материал. SO не является местом для запроса такого вопроса – DhruvJoshi

ответ

0

a/b - частное лицо.

a % b - это остаток, то есть мода b.

0

/ является подразделением, % является модулем, целочисленным остатком подразделения.

1

«/» используется для разделения и «%» используется для вычисления остатка

например

int a = 10; 
int b = 3; 

int divisionResult = a/b; //it's 3 
int reminderResult = a % b; // it's 1 (which is the remainder of the division) 
+1

'%' - это остаток, а не по модулю. Например. '-5% 3' производит остаток от деления, -2, но математики часто предпочитают, чтобы результат« modulo »был равен 1. –

+0

@EricPostpischil Спасибо за ваш комментарий - я обновил свой ответ. Однако я думал, что отличие от операторов modulo и reminder было только в знаке: с остаточным оператором знак результата совпадает с знаком дивиденда, а с модульным оператором знак результата такой же, как дивизор. Почему «по модулю» -5% 3 будет 1? – tanzolone

+0

Расстояние между 1 и -5 равно 6, кратному 3. Для математиков по модулю сравнения сопоставляются целые числа в подмножества, основанные на кратных модулю. Для 3 подмножества являются {..., -6, -3, 0, +3, + 6, ...}, {..., -5, -2, 1, 4, 7, ...} и {... -4, -1, 2, 5, 8, ...}. Фактической «вещью», которая является «x modulo 3» для математика, является само подмножество, а не какой-либо конкретный его член. Однако мы можем использовать любой член для представления подмножества. Часто бывает полезно выбрать элемент, который находится между 0 и модулем (включая 0, не включая модуль), только потому, что он упрощает некоторые вещи. –

1

зависит, где они используются, они означают разные вещи в разных контекстах

, если вы делаете арифметику, тогда/означает деление, а% - мода.

/деление как нормальное деление работает

% даст вам остаток от деления, например, 5% 2 = 1, потому что 2 входит в 5 дважды с остатком 1.

также это довольно универсальный для всех языков (возможно, за некоторыми исключениями, о которых я не знаю)

+0

'%' это просто остаток, а не мода. Например.'-5% 3' производит остаток от деления, -2, но математики часто предпочли бы, чтобы результат« по модулю »равнялся 1. –

0

/используется для деления и% используется для модуля.

Пример:

5/2 = 2 
5 % 2 = 1 
Смежные вопросы