Zložené operátory

Použitie zložených priraďovacích operátorov zjednodušuje a sprehľadňuje zdrojový kód, no použitie nie je bezpodmienečne nutné. Zložené operátory majú bez výnimky tvar op=, kde op je vždy niektorý z binárnych operátorov. Sémantika zložených operátorov priradenia je nasledujúca: výraz E1 op= E2 je ekvivalentný výrazu E1 = E1 op E2. Výsledok E1 op E2 sa pred priradením späť do E1 konvertuje na typ E1. Zložené operátory sú takisto binárne a asociujú sa rovnako ako jednoduchý operátor =, ich operandy však musia byť primitívnych typov. Jedinou výnimkou je operátor +=, ktorého ľavý operand môže byť typu String, pravý operand v takom prípade môže mať ľubovoľný typ.


++ (inkrementácia)  -- (dekrementácia)

Tieto dva operátory slúžia na inkrementáciu (++) a dekrementáciu (––) premenných. Inkrementovať premennú znamená zvýšiť jej hodnotu o 1, dekrementácia predstavuje, zníženie hodnoty o 1. Oba operátory sú unárne a existujú v dvoch variantoch: prefixovom (operátor je pred operandom) a postfixovom (operátor je za operandom). Ich jediným operandom musí povinne byť premenná číselného typu.

x++   // inkrementácia x o 1 a vráti pôvodnú hodnotu x (prefix)
++x   // inkrementácia x o 1 a vráti novú hodnotu x (postfix)

x--   // dekrementácia x o 1 a vráti pôvodnú hodnotu x (prefix)
--x   // dekrementácia x o 1 a vráti novú hodnotu x  (postfix)

Výsledný efekt aplikácie prefixového a postfixového variantu operátora ++, resp. –– je rovnaký: inkrementácia, resp. dekrementácia. Oba varianty však sa líšia výslednou hodnotou výrazu obsahujúceho príslušný operátor. Pri použití postfixového variantu je výsledkom výrazu hodnota premennej pred inkrementáciou/dekrementáciou, pri použití prefixového variantu je výsledkom výrazu hodnota premennej po inkrementácii/dekrementácii. Ukážme si to na príklade:

x = 2;
y = ++x;   // x teraz obsahuje 3, y obsahuje 3 (novú hodnotu x)
z = x++;   // x teraz obsahuje 3, z obsahuje 2 (pôvodnú hodnotu x pred inkrementáciou)

+=  -=  *=  /=  %=  &=  |=

S väčšinou operátorov sa dá použiť aj ich skrátená forma. Napríklad nemusíme písať výraz A = A+3, ale napíšeme len A +=3. Táto možnosť je mohutne využívaná, i keď nemá prakticky žiadny význam (až na skrátenie kódu a jedno miesto na jednu takúto operáciu :-).

x += y;   // výraz: x = x + y;
x -= y;   // výraz: x = x - y; 
x *= y;   // výraz: x = x * y; 
x /= y;   // výraz: x = x / y; 
x %= y;   // výraz: x = x % y;
x &= y;   // výraz: x = x & y;
x |= y;   // výraz: x = x | y; 

Skrátená forma operátorov sa dá použiť s aritmetickými a bitovými operátormi (s vínimkou negácie), čiže len s binárnymi operátormi.

Operátor &= je často používaný s premennou alebo s konštantou na nastavenie jednotlivých bitov v premennej na nízky stav (logická 0). Tomu sa často hovorí v programovacích sprievodcov ako “resetovanie” bitov.

x  x  x  x  x  x  x  x     1  0  1  0  1  0  1  0    hodnota
1  1  1  1  1  1  0  0     1  1  1  1  1  1  0  0    maska: 1 ponechá hodnotu; 0 nastaví na nulu
----------------------     ----------------------
x  x  x  x  x  x  0  0     1  0  1  0  1  0  0  0    výsledná hodnota

Operátor |= je často používaný s premennou alebo s konštantou na nastavenie jednotlivých bitov v premennej na vysoký stav (logická 1).

x  x  x  x  x  x  x  x     1  0  1  0  1  0  1  0    hodnota
0  0  0  0  0  0  1  1     0  0  0  0  0  0  1  1    maska: 0 ponechá hodnotu; 1 nastaví na jedna
----------------------     ----------------------
x  x  x  x  x  x  1  1     1  0  1  0  1  0  1  1    výsledná hodnota

Tento text je preložený a upravený zo stránok arduino.cc pod licenciou Creative Commons Attribution-ShareAlike 3.0.

Výber na čítanie...

Programino IDE – návod na inštaláciu
Programino IDE – návod na inštaláciu

PROGRAMINO IDE je alternatívne pohodlné a ľahko použiteľné vývojové prostredie pre Arduino a kompatibilné dosky. Rôzne dostupné nástroje uľahčujú rýchlu realizáciu projektu. Obsahuje dva UART terminály, náhľad hardvéru, prispôsobiteľné zvýraznenie syntaxe, možnosť vyhľadávania...

Čítať viac...

Eclipse Neon návod na inštaláciu
Eclipse Neon – návod na inštaláciu

Eclipse je ďalšie z mnoha IDE, v ktorom píšeme zdrojový kód a ladíme programy. Tento nástroj, ktorý okrem iného ponúka príjemné pracovné prostredie, debuger a nemalé množstvo rozširujúcich pluginov, je možné používať bezplatne. V tomto článku popisujem, ako sa ...

Čítať viac...

Arduino IDE - návod na inštaláciu
Arduino IDE – návod na inštaláciu

Úspech Arduina a jeho veľké rozšírenie nie je len vďaka zaujímavému hardvéru, ale predovšetkým jednoduchému vývojovému prostrediu (skrátene IDE, čo doslova znamená Integrated Development Environment). Arduino IDE je aplikácia, ktorá nám umožní jednoducho s doskou Arduino ...

Čítať viac...

Obľúbené produkty...

TTP229L 16-key Touch Sensor

7.94 EUR

7.30 EUR

Vyhľadať články
Programovanie...
  • Ostatné IO funkcie

    U Arduina je možné generovať i zvuk, ale iba v najjednoduchšej podobe. Neumožňuje totiž generovať...

  • Operátory preprocesora

    Operátory preprocesora alebo znak # je signálom pre preprocesor. Preprocesor sa spustí pri každom...

  • Špeciálne operátory

    Spomenieme ešte špeciálne operátory alebo špeciálne znaky, ktoré sa používajú pri programovaní a ...

  • Bitové operátory

    Bitové operátory umožňujú vykonať operácie nad jednotlivými bitmi. Túto možnosť zďaleka nemajú vš...

  • Logické operátory

    Logické operátory sú && || ! (and or a not). Vykonávajú výpočet logických výrazov tvorených ich o...

Podpora webu
Na kávu už prispeli
Dátum Meno Suma
22.03.2025 Radoslav Kopera 5€
30.12.2024 Jozef Greš 5€
20.10.2024 Radovan Nosáľ 20€
02.10.2024 Milan Durkoš 10€
08.01.2024 Veres Dusan 10€
15.05.2023 Ivan Danis 10€
28.09.2022 Ivan Vrab 7€
14.05.2022 Nemcic Marian 10€
04.02.2022 Robert Bilko 5€
29.01.2022 Peter Buffa 5€
19.11.2021 Rastislav Rehak 5€
16.09.2021 Anton Strela 5€
13.09.2021 Juraj Jedlak 5€
02.09.2021 Michal Marek 7€
08.08.2021 František Uhrík 5€
21.07.2021 Juraj Hrdina 5€
25.03.2021 Jan Nemec 10€
16.03.2021 Igor Pavlov 5€
25.02.2021 Lukas Lacuch 5€
06.11.2020 Pavol Balint 5€
05.11.2020 Marek Horečný 5€
05.10.2020 Jan Kusnir 5€
27.04.2020 Jan Zuskin 15€
26.04.2020 Dušan Sojka 5€
24.02.2020 Juraj Lackanič 5€
22.01.2020 František Žilinec 10€
20.05.2018 Tomáš F. 2€
17.12.2018 Pavol P. 5€
QR Donate 10Eur