Sdílet prostřednictvím


Unární aritmetické operátory

V následujícím seznamu jsou uvedeny operátory jazyka C unární plus, aritmetický zápor, doplněk a logická negace:

Operátor Popis
+ Operátor unární plus předcházející výrazu v závorkách vynutí seskupení uzavřených operací. Používá se s výrazy, které zahrnují více než jeden komutativní nebo asociativní binární operátor. Operand musí být aritmetického typu. Výsledkem je hodnota operandu. Celočíselný operand projde celočíselným povýšením. Typ výsledku je typ povýšeného operandu.
- Operátor aritmetické negace vytvoří zápor (dvojkový doplněk) svého operandu. Operand musí být celočíselná hodnota nebo hodnota čísla s plovoucí desetinnou čárkou. Tento operátor provádí běžné aritmetické převody.
~ Operátor bitového doplňku (nebo bitový operátor NOT) vytvoří bitový doplněk svého operandu. Operand musí být celočíselného typu. Tento operátor provádí běžné aritmetické převody, výsledek je typem operandu po převodu.
! Operátor logické negace (logický operátor NOT) vytvoří hodnotu 0, pokud má jeho operand hodnotu true (nenulovou), a hodnotu 1, pokud má jeho operand hodnotu false (0). Výsledek je typu int. Operand musí být celočíselná hodnota, hodnota čísla s plovoucí desetinnou čárkou nebo hodnota ukazatele.

Unární aritmetické operace u ukazatelů jsou neplatné.

Příklady

Následující příklady znázorňují unární aritmetické operátory:

short x = 987;
    x = -x;

V předchozím příkladu je nová hodnota x záporná z 987 nebo -987.

unsigned short y = 0xAAAA;
    y = ~y;

V tomto příkladu je nová hodnota přiřazená proměnné y jedničkový doplněk hodnoty bez znaménka 0xAAAA, tedy 0x5555.

if( !(x < y) )

Pokud je hodnota proměnné x větší nebo rovna hodnotě proměnné y, je výsledkem výrazu hodnota 1 (true). Pokud je hodnota proměnné x menší než hodnota proměnné y, je výsledkem hodnota 0 (false).

Viz také

Výrazy s unárními operátory