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

от Уикипедия, свободната енциклопедия
Изтрито е съдържание Добавено е съдържание
м Общи промени
TedMBot (беседа | приноси)
м форматиране/правопис
Ред 5: Ред 5:
* префиксна нотация: например [[отрицание|''-n'' или ''¬p'']]
* префиксна нотация: например [[отрицание|''-n'' или ''¬p'']]
* постфиксна нотация: например [[факториел|''n!'']], [[степен (математика)|''n<sup>2</sup>'']]
* постфиксна нотация: например [[факториел|''n!'']], [[степен (математика)|''n<sup>2</sup>'']]
* функционална нотация: например [[Синус (математика)|''sin x'' или ''sin(x)'']], [[абсолютна стойност|''mod x'' или|''x''|]], [[натурален логаритъм|''ln x'']], [[десетичен логаритъм|''log x'']]
* функционална нотация: например [[Синус (математика)|''sin x'' или ''sin(x)'']], [[абсолютна стойност|''mod x'' или|''x'']], [[натурален логаритъм|''ln x'']], [[десетичен логаритъм|''log x'']]
* други: например [[радикал (математика)|√, „втори корен“]].
* други: например [[радикал (математика)|√, „втори корен“]].


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


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


; Пример 1
; Пример 1

Версия от 15:43, 7 ноември 2020

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

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

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

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 година – от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница, за да видите списъка на съавторите. ​

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