Унарна операция: Разлика между версии

Направо към навигацията Направо към търсенето
спасено микро
м (меп)
(спасено микро)
'''Унарна операция''' в [[математика]]та се нарича [[математическа операция|операция]] с единствен операнд, или с други думи, [[функция]] над един аргумент.
{{микромъниче|09:04, 30 октомври 2008 (UTC)}}
 
'''Унарна операция''' се нарича операция, която има само един аргумент.
За означение на унарните операции се използват различни нотации:
* префиксна нотация: например [[отрицание|''-n'' или ''¬p'']]
* постфиксна нотация: например [[факториел|''n!'']], [[степен (математика)|''n<sup>2</sup>'']]
* функционална нотация: например [[синус|''sin x'' или ''sin(x)'']], [[абсолютна стойност|''mod x'' или |''x''| ]], [[натурален логаритъм|''ln x'']], [[десетичен логаритъм|''log x'']]
* други: например [[радикал (математика)|√, „втори корен“]].
 
Тъй като унарните операции имат само един операнд, те се оценяват приоритетно пред останалите операции, които ги съдържат. Например при следния запис:
3 − −2
първият минус представлява [[бинарна операция|бинарната операция]] „[[изваждане]]“, а вторият минус — унарната операция „отрицание“. Следователно, първо се оценява унарната операция. По-ясно записано, в скоби, същото изглежда така:
3 − (−2) = 3 + 2 = 5
При радикалите няма нужда от скоби, понеже хоризонталната черта се простира над целия израз и играе роля на своеобразни скоби.
 
== Унарни операции в програмирането ==
 
Във фамилията от програмни езици, базирани на [[C |C]], следните оператори са унарни:
* Инкрементиране (нарастване с единица): <code>++x</code>, <code>x++</code>
* Декрементиране (намаляване с единица): <code>−−x</code>, <code>x−−</code>
* Адрес на променливата в паметта: <code>&x</code>
* Стойност, съдържаща се на адреса, който указателят сочи: <code>*x</code>
* Положително число: <code>+x</code>
* Отрицателно число: <code>−x</code>
* Побитово отрицание (инверсия, допълване до 1): <code>~x</code>
* Логическо отрицание: <code>!x</code>
* Размер на операнда в байтове: <code>sizeof x</code>, <code>sizeof(type-name)</code>
* Преобразуване на типа данни: <code>(type-name) cast-expression</code>
 
В повечето програмни езици, операторите за инкрементиране и декрементиране могат да бъдат както с префиксна, така и с постфиксна форма, което има значение при работа с променливи. При префиксен запис, стойността на променливата първо се увеличава (или намалява) с единица и после се използва като аргумент на функцията, а при постфиксен запис, извиканата функция използва заварената стойност на променливата и след това тази стойност се увеличава (намалява).
 
Следват два примера, при които оценяването на целочислените аргументи се извършва отляво надясно.
 
; Пример 1
int i = 0;
printf (" %d \n %d ", i++, i++);
 
Изход:
0
1
 
; Пример 2
int i = 0;
printf (" %d \n %d ", ++i, ++i);
 
Изход:
1
2
 
Оператори за инкрементиране и декрементиране обикновено се използват във [[For-цикъл|For-циклите]].
 
{{Превод от|en|Unary operation|248904819}}
 
[[Категория:Алгебра]]
[[Категория:Програмиране]]
 
[[ar:عملية أحادية]]

Навигация