Instrukcje i wyrażenia 41
Dzielenie całkowite wygląda trochę inaczej niż zwykłe. Kiedy podzielisz 21 przez 4, to wynik jest liczbą rzeczywistą (a konkretniej nie jest całkowity). Liczby całkowite nie dopuszczają wartości ułamkowych, dlatego reszta z dzielenia jest pomijana. Wynikiem dzielenia 21 przez 4 jest 5.
Operator reszty zwraca wartość reszty z dzielenia całkowitego. Oznacza to, że 21 % 4 wynosi 1, ponieważ 21/4 wynosi 5 reszty 1.
Obliczanie reszty z dzielenia może być bardzo użyteczne. Możesz np. wypisywać wyrażenie w każdym dziesiątym wykonaniu jakiejś akcji. Można w tym celu wykorzystać fakt, że liczba przy dzieleniu przez 10 daje resztę zero wtedy, gdy jest wielokrotnością 10. 20 % 10 to 0. 30 % 10 to również 0.
Bardzo często chcemy dodać do zmiennej jakąś wartość i wynik umieścić z powrotem w tej zmiennej. Jeśli mamy zmienną MojWiek i chcemy do niej dodać 2 to możemy napisać tak:
int MojWiek = 5; int temp;
temp = MojWiek +2; // dodaj 2 do 5 i umieść w temp
MojWiek = temp; // wynik umieść z powrotem w MojWiek
Jednak ta metoda jest bezsensowna. W C++ można używać tej samej zmiennej po obu stronach operatora przypisania:
MojWiek = MojWiek + 2;
Takie rozwiązanie jest o wiele lepsze. W języku algebry takie wyrażenie jest pozbawione sensu (fałszywe), ale w C++ czytamy je jako: „Dodaj 2 do wartości w Mo jWiek i umieść wynik w Mo jWiek”.
Łatwiejsze w stosowaniu, aczkolwiek trudniejsze w interpretacji jest użycie instrukcji:
MojWiek += 2; '
Operator ( += ) dodaje wartość Rualue do Lualue i umieszcza wynik w Lualue. Taki operator można czytać jako „plus - równa się”. Instrukcja może być czytana jako „MojWiek plus - równa się dwa”. Jeśli MojWiek jest równe 4, to po tej instrukcji będzie równe 6.
Tego typu operatorami są również odejmowanie (-=), dzielenie (/= ), mnożenie (*=) i reszta ( %= ).
Dzielenie całkowite wygląda trochę inaczej niż zwykłe. Kiedy podzielisz 21 przez 4, to wynik jest liczbą rzeczywistą (a konkretniej nie jest całkowity). Liczby całkowite nie dopuszczają wartości ułamkowych, dlatego reszta z dzielenia jest pomijana. Wynikiem dzielenia 21 przez 4 jest 5.
Operator reszty zwraca wartość reszty z dzielenia całkowitego. Oznacza to, że 21 % 4 wynosi 1, ponieważ 21/4 wynosi 5 reszty 1.
Obliczanie reszty z dzielenia może być bardzo użyteczne. Możesz np. wypisywać wyrażenie w każdym dziesiątym wykonaniu jakiejś akcji. Można w tym celu wykorzystać fakt, że liczba przy dzieleniu przez 10 daje resztę zero wtedy, gdy jest wielokrotnością 10. 20 % 10 to 0. 30 % 10 to również 0.
Bardzo często chcemy dodać do zmiennej jakąś wartość i wynik umieścić z powrotem w tej zmiennej. Jeśli mamy zmienną Mo jWiek i chcemy do niej dodać 2 to możemy napisać tak:
int MojWiek = 5; int temp;
temp = MojWiek +2; // dodaj 2 do 5 i umieść w temp
MojWiek = temp; // wynik umieść z powrotem w MojWiek
Jednak ta metoda jest bezsensowna. W C++ można używać tej samej zmiennej po obu stronach operatora przypisania:
MojWiek = MojWiek + 2;
Takie rozwiązanie jest o wiele lepsze. W języku algebry takie wyrażenie jest pozbawione sensu (fałszywe), ale w C++ czytamy je jako: „Dodaj 2 do wartości w Mo jWiek i umieść wynik w Mo jWiek".
Łatwiejsze w stosowaniu, aczkolwiek trudniejsze w interpretacji jest użycie instrukcji:
MojWiek += 2;
Operator ( += ) dodaje wartość Rvalue do Lvalue i umieszcza wynik w Lualue. Taki operator można czytać jako „plus - równa się”. Instrukcja może być czytana jako „MojWiek plus - równa się dwa”. Jeśli MojWiek jest równe 4, to po tej instrukcji będzie równe 6.
Tego typu operatorami są również odejmowanie (-= ), dzielenie (/= ), mnożenie (*=) i reszta ( %= ).