Perl, Operátory (24.díl)

Napsal O webu (») 24. 4. 2008 v kategorii Programování, přečteno: 1266×
obrazky/logo_perl.jpg

Umocňování

Pomocí operátoru ** se operand na levě straně umocní na hodnotu na pravé straně. Vnitřně je operace implementována algoritmem pracujícím v pohyblivé řádové čárce, proto někdy nedostaneme výsledek s takovou přesností, jaké by bylo dosaženo přímým násobením.
Při umocňování záporných hodnot je třeba pamatovat na to, že unární mínus má nižší prioritu, proto je vyhodnocováno až po umocňování. Řešením je použít závorky kolem umocňované hodnotu.



2**4;

// Dvě na čtvrtou, výsledek 16

-2**4;

// stejné jako –(2**4), výsledek -16

(-2)**4;

// minus dvě na čtvrtou, výsledek 16


Ideografické unární operátory

Další skupinu operátoru tvoří unární operátory, jejichž jméno je tvořeno speciálním symbolem (odtud pojem ideografické). Některé z těchto operátoru mají ještě jiné slovní označení, tato varianta má ale nižší prioritu.


Unární ! provádí logickou negaci výrazu. Provádíme-li logickou negaci nepravdi¬vého výrazu, dostaneme hodnotu 1, v opačném případě je výsledkem nulový řetězec. Obdobou tohoto operátoru je operátor not, který má ale výrazně nižší preferenci.


Unární - provádí aritmetickou negaci v případě, že operand je číslo. Je-li operand řetězec nezačínající znaménkem, vrátí se stejný řetězec začínající znaménkem -. Začíná-li řetězec znaménkem, vrátí se řetězec na začátku se znaménkem opačným. Použijeme-li v programu holé slovo, které začíná znakem -, přestává být považováno za holé slovo a nebude na něj upozorněno varováním.


Unární ~ provádí bitovou negaci, tzn. doplněk do 1. Na různých počítačích pra¬cujícími s různým počtem bytů vyhrazených pro uložení číselné hodnoty můžeme získat různé výsledky, protože doplněk se provádí pro různý počet bitů. Je-li tento operátor použit na řetězec, vrátí se řetězec se všemi bitu komplementovanými.


Unární + nemá žádný sémantický význam. Používá se v případech, kdy je možné pomocí tohoto operátoru změnit interpretaci chápání různých zápisů. Příkladem může být oddělení výrazu v závorkách od jména funkce, aby se výraz v závorkách neinterpretoval jako argumentu funkce.



Print 1 + 6 / 2;

// Vytiskne 4

Print (1 + 6) / 2;

// Vytiskne 7,




A to by bylo pro dnešek všechno. V dalším díle se podíváme na vazebné a multiplikativní operátory. V případě jakýchkoliv dotazů mě kontaktujte na email: habrman@banan.cz.


Autor: Robert Habrman
Štítky: Perl
Facebook Twitter Topčlánky.cz Linkuj.cz

Komentáře

Zobrazit: standardní | od aktivních | poslední příspěvky | všechno
Článek ještě nebyl okomentován.


Nový komentář

Téma:
Jméno:
Notif. e-mail *:
Komentář:
  [b] [obr]
Odpovězte prosím číslicemi: Součet čísel jedenáct a osm