У C або C++, оператор модуля (також відомий як оператор модуля) , що позначається %, є an арифметичний оператор . Оператор ділення за модулем створює залишок цілочисельного ділення, яке також називають модулем операції.
Синтаксис оператора модуля
Якщо x і y цілі числа, то вираз:
x % y;>
вимовляється як x mod y. Наприклад, 10 % 2 буде вимовлятися як десять мод Два.
Повернене значення оператора Modulo
- Якщо y повністю ділить x, результат виразу дорівнює 0.
- Якщо x не повністю ділиться на y, то результатом буде залишок у діапазоні [0, y-1]
- (х % і) < (x / 2) ………якщо (x>= y)
- (х % y) = x ……… якщо (x
- Якщо y дорівнює 0, тоді ділення на нуль це помилка під час компіляції .
Приклад оператора Modulo
Нижче наведено програму C/C++ для демонстрації роботи оператора modulo:
C++
// C++ Program to demonstrate the working of modulo operator> #include> using> namespace> std;> // Driver code> int> main(> void> )> {> > int> x, y;> > int> result;> > x = 3;> > y = 4;> > // using modulo operator> > result = x % y;> > cout << result << endl;> > result = y % x;> > cout << result << endl;> > // for different values> > x = 4;> > y = 2;> > result = x % y;> > cout << result;> > return> 0;> }> // This code is contributed by Mayank Tyagi> |
отримати довжину масиву в c
>
>
C
// C Program to illustrate the working of modulo operator> #include> int> main(> void> )> {> > int> x, y;> > int> result;> > x = 3;> > y = 4;> > // using modulo operator> > result = x % y;> > printf> (> '%d'> , result);> > result = y % x;> > printf> (> '
%d'> , result);> > // for different values> > x = 4;> > y = 2;> > result = x % y;> > printf> (> '
%d'> , result);> > return> 0;> }> |
>
>
Обмеження для оператора Modulo
Оператор modulo має кілька обмежень. The % оператор модуля не можна застосувати до числа з плаваючою комою тобто float або double. Якщо ви спробуєте використати оператор modulo з константами чи змінними з плаваючою комою, компілятор видасть помилку.
Приклад 1: програма C/C++ для демонстрації обмежень оператора modulo.
C++
// C++ Program to demonstrate the restrictions of modulo> // operator> #include> using> namespace> std;> // Driver code> int> main()> {> > float> x, y;> > x = 2.3;> > y = 1.5;> > // modulo for floating point values> > result = x % y;> > cout << result;> > return> 0;> }> // This code is contributed by Harshit Srivastava> |
рядок підрядок java
>
>
C
// C Program to illustrate the working of modulo operator> #include> int> main(> void> )> {> > float> x, y;> > float> result;> > x = 2.3;> > y = 1.5;> > // modulo for floating point values> > result = x % y;> > printf> (> '%f'> , result);> > return> 0;> }> |
>
>
Вихід
Compilation Error in C code :- prog.c: In function 'main': prog.c:19:16: error: invalid operands to binary % (have 'float' and 'float') result = x % y; ^>
Оператор модуля для негативних операндів
Знак результату для оператора модуля залежить від машини для від’ємних операндів, оскільки дія виконується в результаті недоповнення або переповнення.
Приклад 2: програма C/C++ для демонстрації оператора модуля для від’ємних операндів.
C++
рядок до символу
// C++ Program to demonstrate the working of the modulo> // operator for negative operands> #include> using> namespace> std;> // Driver code> int> main(> void> )> {> > int> x, y;> > int> result;> > x = -3;> > y = 4;> > // modulo for negative operands> > result = x % y;> > cout << result << endl;> > x = 4;> > y = -2;> > result = x % y;> > cout << result << endl;> > x = -3;> > y = -4;> > result = x % y;> > cout << result;> > return> 0;> }> // This code is contributed by Harshit Srivastava> |
>
>
C
// C Program to illustrate the working of the modulo> // operator with negative operands> #include> int> main(> void> )> {> > int> x, y;> > int> result;> > x = -3;> > y = 4;> > // modulo for negative operands> > result = x % y;> > printf> (> '%d'> , result);> > x = 4;> > y = -2;> > result = x % y;> > printf> (> '
%d'> , result);> > x = -3;> > y = -4;> > result = x % y;> > printf> (> '
%d'> , result);> > return> 0;> }> |
>
>Вихід
-3 0 -3>
Примітка: Повернене значення в цьому випадку залежить від компілятора.
Поширені запитання щодо оператора Modulo
Q1. Визначити мод.
відповідь:
У мовах програмування C/C++ mod відноситься до математичної операції, під час якої одне число ділиться на інше, а залишок повертається.
Його можна виконати за допомогою операторський модуль (%) .
Q2. Що таке модна арифметика?
відповідь:
Модифікована арифметика стосується процесу, у якому число обертається навколо певної точки таким чином, що воно завжди менше за цю певну точку. Наприклад,
Розглянемо число n = 10 і точка p = 20.
Коли ми збільшимо n у 10 разів, воно буде n = 20, але в модульній арифметиці воно має бути значно меншим за вказану точку.Один із способів зробити це - використовувати оператор модуля як:
сортувати масив у javan++; n = n % p;>Щоб дізнатися більше про модульну аритиматику, зверніться до статті – Модульна арифматика
Q3. Яка різниця між оператором модуля і ділення?
відповідь:
Основна відмінність між оператором модуля і ділення полягає в тому, що:
- Операторський модуль (%) повертає залишок після ділення одного числа на інше.
- Оператор ділення (/) повертає частку після ділення одного числа на інше.