2016-05-05 23 views

Antwort

2

Nach wikipedia

eine einstellige Operation ist eine Operation mit nur ein Operand ..

So, die die Betreiber braucht oder arbeitet auf nur einen Operanden, sind unäre Operatoren.

% und / benötigt definitiv zwei Operanden, also sind sie keine unären Operatoren.

Im Fall sind Sie über das Vorhandensein von + und - fragen, sind sie einstellige positive und negative Operatoren (einstellige arithmetische Operatoren) nicht hinaus und Subtraktionen.

Zitiert C11 Kapitel §6.5.3.3

Das Ergebnis des unären + Operator ist der Wert seiner (gefördert) Operanden. Die Ganzzahl Promotions werden für den Operanden ausgeführt, und das Ergebnis hat den hochgestuften Typ.

und

Das Ergebnis des unären Operators - ist die negative seine (gefördert) Operanden. Die Ganzzahl Promotions werden für den Operanden ausgeführt, und das Ergebnis hat den hochgestuften Typ.

+0

Gibt es + repräsentiert plus welches Plus b? – aheh

+1

unary + und binary + sind verschiedene Operatoren –

0

/ und % nie in Kontexten existieren, die nur einen Operanden nehmen so deshalb sind sie nie unäre Operatoren. Wie bei den anderen gegeben Operatoren:

  1. & kann bedeuten, Adress-of (sowie bitweise AND)
  2. * Pointer-Dereference (sowie Multiplikation) bedeuten kann.
  3. + und - kann unary plus/minus sein.
  4. ! und ~ sind logische Negation und bitweise Ergänzung.
1

Einige Zeichen werden für mehr als einen Operator verwendet. * wird sowohl für den Multiplikationsoperator (der ein binärer Operator ist) als auch für den Adressenindirektionsoperator (der ein unärer Operator ist) verwendet.So können Sie einen Ausdruck haben wie

x = a * *p; // multiply a by what p points to 

% und / keine ähnliche Verwendung in unäre Ausdrücke haben, weshalb sie in der Liste der unäre Operatoren nicht angezeigt.

& ist ein weiteres Zeichen, das als unärer Operator (Adresse-of) oder als binärer Operator (bitweise and) verwendet werden kann.