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.
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.
Ú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 ...
Arduino [čítaj Arduíno] je v informatike názov malého jedno-doskového počítača založeného na mikrokontroléri ATmega od firmy Atmel. Svojim návrhom sa snaží podporiť výučbu informatiky v školách a oboznámiť študentov s tým, ako sú pomocou počítačov riadené rôzne zariadenia ...
Arduino Leonardo dizajnovo nadväzuje na Arduino Uno. Líši sa však použitým čipom a tým je ATmega32u4. Mikrokontrolér ATmega32u4 má vstavané USB rozhranie, takže pre komunikáciu s počítačom už nie je potrebné používať ďalšie špeciálne obvody. Leonardo sa k pripojenému počítaču môže javiť...