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.
Dióda je elektrotechnická súčiastka s dvoma elektródami, označovanými ako anóda a katóda, ktorá sa vyznačuje veľmi odlišným tvarom Volt-Ampérovej charakteristiky v závislosti na polarite priloženého napätia. Po pripojení anódy na kladnejšie napätie ako je na...
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. ...
Firma Atmel vydala novú verziu svojho editora Atmel Studio 7. Pre nás fanúšikov Arduina je to dobrou správou, pretože sa viac sústreďuje na Arduino. Nové možnosti sú aj v oblasti moderných 32-bitových mikrokontrolérov. Úžasné na Atmel Studiu je aj to, že nepotrebujete mať ...