Направо към съдържанието

Унарна операция

от Уикипедия, свободната енциклопедия

Унарна операция в математиката се нарича операция с единствен операнд, или с други думи, функция над един аргумент.

За означение на унарните операции се използват различни нотации:

Тъй като унарните операции имат само един операнд, те се оценяват приоритетно пред останалите операции, които ги съдържат. Например при следния запис:

3 − −2

първият минус представлява бинарната операцияизваждане“, а вторият минус – унарната операция „отрицание“. Следователно, първо се оценява унарната операция. По-ясно записано, в скоби, същото изглежда така:

3 − (−2) = 3 + 2 = 5

При радикалите няма нужда от скоби, понеже хоризонталната черта се простира над целия израз и играе роля на своеобразни скоби.

Унарни операции в програмирането

[редактиране | редактиране на кода]

Във фамилията от програмни езици, базирани на C, следните оператори са унарни:

  • Инкрементиране (нарастване с единица): ++x, x++
  • Декрементиране (намаляване с единица): −−x, x−−
  • Адрес на променливата в паметта: &x
  • Стойност, съдържаща се на адреса, който указателят сочи: *x
  • Положително число: +x
  • Отрицателно число: −x
  • Побитово отрицание (инверсия, допълване до 1): ~x
  • Логическо отрицание: !x
  • Размер на операнда в байтове: sizeof x, sizeof(type-name)
  • Преобразуване на типа данни: (type-name) cast-expression

В повечето програмни езици, операторите за инкрементиране и декрементиране могат да бъдат както с префиксна, така и с постфиксна форма, което има значение при работа с променливи. При префиксен запис, стойността на променливата първо се увеличава (или намалява) с единица и после се използва като аргумент на функцията, а при постфиксен запис, извиканата функция използва заварената стойност на променливата и след това тази стойност се увеличава (намалява).

Следват два примера, при които оценяването на целочислените аргументи се извършва от ляво надясно.

Пример 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-циклите.

  Тази страница частично или изцяло представлява превод на страницата Unary operation в Уикипедия на английски. Оригиналният текст, както и този превод, са защитени от Лиценза „Криейтив Комънс – Признание – Споделяне на споделеното“, а за съдържание, създадено преди юни 2009 година – от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница, за да видите списъка на съавторите. ​

ВАЖНО: Този шаблон се отнася единствено до авторските права върху съдържанието на статията. Добавянето му не отменя изискването да се посочват конкретни източници на твърденията, които да бъдат благонадеждни.​