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.
Arduino MEGA 2560 je navrhnutý pre komplexnejšie projekty. Má väčší priestor pre program, takže sa využíva pre 3D tlačiarne a projekty robotiky. To dáva projektom dostatok priestoru. K tejto doske nájdete aj rôzne shieldy. Medzi najpoužívanejšie patrí napr. ...
Arduino YÚN je dokonalá doska, ktorá sa používa pri navrhovaní pripojených zariadení a vo všeobecnosti aj projektov internet vecí. Spája silu Linuxu s používaním Arduino...
Ú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 ...