Jednoargumentowe operatory arytmetyczne
Jednoargumentowy C plus, negacja arytmetyczna, uzupełnienie i operatory negacji logicznej omawiane są na poniższej liście:
Operator |
Opis |
---|---|
+ |
Jednoargumentowy operator plus poprzedzający wyrażenie w nawiasach wymusza grupowanie zamkniętych działań.Jest używany z wyrażeniami dotyczącymi więcej niż jednego operatora binarnego zespolonego lub przemiennego.Argument musi być typu arytmetycznego.Wynikiem jest wartość operandu.Operand wewnętrzny ulega zewnętrznej promocji.Typ wyniku jest typem promowanego operandu. |
– |
Operator arytmetyczny negacji daje wartość negatywną (dopełnienie dwójki) swojego operandu.Argument musi być wartością typu całkowitego lub zmiennoprzecinkowego.Ten operator wykonuje zwykle konwersje arytmetyczne. |
~ |
Operator bitowego uzupełnienie (lub bitowe NOT) wytwarza bitowe uzupełnienie swojego operandu.Argument musi być typu całkowitego.Ten operator wykonuje zwykle konwersje arytmetyczne; wynik ma typ operandu po konwersji. |
! |
Operator logiczny negacji (logicznego nie) produkuje wartość 0, jeżeli jej argument jest PRAWDĄ (niezerową) i wartość 1, jeśli jej argument ma wartość false (0).Wynik ma typ int.Argument musi być wartością typu całkowitego, zmiennoprzecinkowego lub wartością wskaźnika. |
Jednoargumentowe operatory arytmetyczne na wskaźniki są niedozwolone.
Przykłady
Poniższe przykłady ilustrują jednoargumentowe operatory arytmetyczne:
short x = 987;
x = -x;
W przykładzie powyżej nowa wartość x jest negacją 987 lub –987.
unsigned short y = 0xAAAA;
y = ~y;
W tym przykładzie nową wartość przypisana do y jest uzupełnieniem wartości bez znaku 0xAAAA lub 0x5555.
if( !(x < y) )
Jeśli x jest większy niż lub równy y, wynikiem wyrażenia jest 1 (PRAWDA).Jeśli x jest mniejszy niż y, wynik jest równy 0 (FAŁSZ).