Operator MOD jest operatorem arytmetycznym (operator percentyla) i jest oznaczony znakiem %. Ten operator jest używany w różnych językach programowania i w dziedzinie matematyki. Działa z dwoma operandami w celu wygenerowania danych wyjściowych. Aby uzyskać wyjście, mianownik jest podzielony przez licznik. Innymi słowy, dla podziału liczb całkowitych dwóch wartości generuje to pozostałą wartość. W rezultacie wyjście, które otrzymujemy po użyciu modułu, jest zawsze wartością całkowitą. Otrzymamy pozostałą część równą zero, jeśli nie otrzymamy pozostałej części za pomocą modułu.
Pozostała część podziału całkowitego jest obliczana przez operatora dywizji modulo. Wyrażenie jest wynikiem A i B, gdzie A i B są dwoma liczbami całkowitych. Jeśli podzielimy A przez B, otrzymamy resztę. Pozostały operator zwraca resztę po operatorze modułu w podziale liczb całkowitych. Na przykład 7/4 = 1 reszta 3. Ale używając modu, 7 % 4 równa się 3. Innym przykładem to 25/7 = 3 pozostałych 4, ale 25% 7 = 4.
Ogólna składnia operatora modułu:
Składnia: A % B lub mod (a, b)
Załóżmy, że istnieją dwie zmienne a i b w określonym kodzie, które są liczbowymi. Operator modułu zastosowany między tymi zmiennymi zostanie wyrażony jako%B. Gdy A zostanie podzielone przez B, otrzymamy wartość jako pozostałą część A/B. Poniżej znajdują się możliwe wartości powrotu:
Dlaczego operator modułu:
W przypadku różnych aplikacji operator modułu może okazać się bardzo przydatny. Jest szeroko stosowany do zmniejszenia liczby losowo wytwarzanej do mniejszego zakresu liczb losowych. Ponadto, aby szybko ustalić, czy jedna liczba jest współczynnikiem innej. Aby wygenerować liczbę losową, możemy użyć operatora modułu lub czy liczba jest równa, czy dziwna można określić za pomocą operatora modułu.
Ograniczenia operatora modulo:
Istnieje pewne ograniczenie działania modułu, w którym generator wyjściowy może nie być dokładny. Kompilator może wyświetlić błąd, gdy pojawią się te sytuacje. Nie możemy zastosować operatora modułu do liczb o punktach dziesiętnych lub frakcjach (i.mi., pływaj lub podwójnie.) Kompilator pokaże błąd, jeśli spróbujemy zastosować operator % o liczbach zmiennoprzecinkowych.
Co to jest operator %% w R?
Funkcjonalność operatora modułu w R jest taka sama, jak działa z innymi językami programowania. W R działanie modulo jest rodzajem pracy arytmetycznej. Po podzieleniu dwóch zmiennych numerycznych oblicza pozostałą część. W R operator modułu jest przekazywany przez %%.
W poniższych przykładach użyjemy operatora %% z różnymi rodzajami danych do obliczenia modułu.
Przykład nr 1: Prosty moduł dwóch skali
W takim przypadku utworzymy dwie zmienne numeryczne x i y. X i Y będą działać jako operandy dla operatora %%.
Stosowanie modułu 10 %% 2 da resztę 0. Pokazuje, że 10 jest całkowicie podzielne przez 2. Każdy operand po podzieleniu przez 2 daje pozostałą część 0. Reprezentuje, że wartość pierwszego operandu jest liczbą parzystą. Jeśli daje resztę 1, oznacza to, że liczba jest dziwna.
Przykład nr 2: Moduł operacji ujemnych
Jak wspomniano powyżej, zakres %% to [0, ∞]. Tak więc wynik przy użyciu wartości ujemnej nie będzie dokładny. Poniższy przykład pokaże wyniki operatora modułu, gdy używamy wartości ujemnych.
Najpierw utworzymy dwie zmienne. Oba z wartościami ujemnymi.
-7 %% -4 daje resztę -3. Co się stanie, gdy weźmiemy tylko licznik jako wartość ujemną?
Z -7 %% 4 reszta to 1. Teraz, jeśli weźmiemy operand mianownika jako wartość ujemną.
Daje resztę -1. Powyższe wyjścia mogą nie być dokładne, ponieważ jeden z nich lub oba operandy są ujemne. W większości języków programowania użycie wartości ujemnych daje błąd.
Przykład nr 3: Gdy mianownik jest pojedynczą wartością liczbową
W tym przykładzie znajdziemy resztę, gdy mianownik jest skalar. Aby to wykazać, utworzymy: skalar X1, wektor V1 i matryca M1 jako pierwsze operands. Podczas gdy drugi operand będzie skalar.
Jeśli oba operandy są skalarne.
Kiedy pierwszy operand jest wektorem, ale 2. operand jest skalar.
Operator %% da nam resztę dla wszystkich wartości w wektorze po podzieleniu przez skalar. To samo wydarzy się, gdy użyjemy matrycy zamiast wektora.
Przykład nr 4: Gdy oba operandy są wektorami lub macierzami
Podczas dzielenia wektora przez inny, długości dwóch wektorów powinny być takie same. Lub dłuższa długość wektora powinna być wielokrotnością krótszej długości wektora.
Wartość każdego wektora jest podzielona przez wartości drugiego wektora i generuje wyjście [0 2 2].
Podobnie jak wektory, wymiary tych dwóch powinny być takie same lub wymiar większej macierzy powinien być wielokrotnością wymiaru mniejszej matrycy.
Po podzieleniu każdego elementu kolumnowego wartości pozostałych są generowane.
Wniosek:
W tym samouczku szczegółowo omówiliśmy operatora modułu. Teraz powinieneś być świadomy ogólnej składni operatora modułu: jego ograniczenia, jego użycie i jak go używać w R. W tym poście zaimplementowaliśmy kilka przykładów, aby nauczyć Cię, w jaki sposób możesz użyć operatora „%%” z różnymi operandami. Przykłady w tym poście pokazują, jaka będzie pozostała część, gdy operands są skalarne, jeśli pierwszym operandem jest skalar/wektor lub matryca, jeśli jeden lub oba operandy są ujemne, a jeśli jedno lub oba operandy to wektory lub matryce.