OPERATORI

TIPURILE DE OPERATORI SI PRIORITATEA LOR
 
 

PRIORITATE

OPERATORI

TIP OPERATOR

OBSERVATII

1

( )   [ ] 
->
::
.

apel, indexare, indirectare, 
acces C++, selector

 

2


+  - 
++  -- 
*
&
(typecast) 
sizeof 
new  delete

operatori unari

-not (!) Ex: !0=1, !1=0
-Ex: -10, +23,

i++, ++i, i--, --i , de incrementare, decrementare, postfixati si prefixati
-* - operator de dereferentiere (*a  reprez. continutul variabilei memorate in a, unde a este un pointer)
-& - operator adresa sau de referentiere 
(&a determina adresa de inceput a zonei de memorie alocata variabilei a)
-(typecast)-operator de conversie explicita Ex: (float)5/2 este 2.5
-sizeof-pentru determinarea dimensiunii in octeti a unei date sau a unui tip 
Ex: int x; sizeof(int)=2;sizeof(x)=2
-new, delete-operatori pentru var. dinamice

3

.*  ->*

referinte C++

 

4

*  /  %

operatori multiplicativi

- operatorul % actioneaza numai asupra operanzilor intregi
- operatorul / face impartirea intreaga daca cei doi operanzi ai sai sunt intregi si reala, daca macar un operand este real

5

+  -

operatori aditivi

operatori binari pentru adunare si scadere

6

<<  >>

operatori de deplasare

 operatori unari de deplasare la stanga/ dreapta a bitilor unui operand

Exemplu: 13<<2. Se trece in binar 13 si se obtine 1101, se adauga doua zerouri (deplasare spre stanga) si se obtine: 110100 apoi se converteste in zecimal si se obtine 52. Deci 13<<2=52.

Pentru 13>>2 deplasarea se face spre dreapta eliminand ultimele doua cifre binare: 1101 si se obtine: 11 in binar care in zecimal reprezinta 3. Deci 13>>2=3  

7

<  <=  >  >=

operatori relationali

 rezultatul unei operatii logice poate fi 1 (TRUE) sau 0 (FALSE)

8

= =   !=

operatori de egalitate

_______ ,, _______

9

&

SI binar

operator pe biti

13 & 7, in binar rezulta:

1101

0111

0101 adica 5, deci 13 & 7 = 5

 

 

10

^

XOR binar

Sau exclusiv:

operator pe biti

13 ^ 7, in binar rezulta:

1101

0111

1010 adica 10, deci 13 ^ 7 = 10

 

11

|

OR binar

Sau exclusiv:

operator pe biti

13 | 7, in binar rezulta:

1101

0111

1111 adica 5, deci 13 | 7 = 15

 

12

&&

SI logic

 0&&1=0, 1&&1=1, 0&&0=0 

13

||

SAU logic

 0||1=1, 0||0=0, 1||1=1

14

?:

operatorul conditional

 e1?e2:e3 (daca e1!=0, valoarea expresiei este e2, altfel este e3)

15

=  
*=  /=  %=  -= 
^=  |=  <<=  >>=

operatori de atribuire

= - atribuire simpla
- v op expresie <=> v=v op expresie
- atribuiri la nivel de bit

16

,

operatorul virgula

leaga mai multe expresii
Ex: exp1, exp2, exp3, exp4 - valoarea expresiei este egala cu valoarea ultimei expresii (exp4)

 

Clasificarea operatorilor:

 

  1. Operatori aritmetici:

Nr. crt

operator

semnificatie

  1.  

-

Minus (unar)

  1.  

+

Plus (unar)

  1.  

+

Plus (binar)

  1.  

-

Minus (binar)

  1.  

*

Inmultire (binar)

  1.  

/

Impartire (binar)

  1.  

%

Restul impartirii intregi (binar)

 

2. Operatori relationali:

Nr. crt

operator

semnificatie

  1.  

<

Mai mic (binar)

  1.  

<=

Mai mic sau egal (binar)

  1.  

>

Mai mare

  1.  

>=

Mai mare sau egal (binar)

 

    3. Operatori de egalitate:

Nr. crt

operator

semnificatie

1.

= =

De egalitate (binar)

2.

!=

Diferit de (binar)

 

   4. Operatori de incrementare si decrementare:

Nr. crt

operator

semnificatie

1.

++

Incrementare (unar)

2.

--

Decrementare (unar)

 

  5.Operatori logici:

Nr. crt

operator

semnificatie

1.

!

Negare logica (binar)

2.

&&

Si logic (binar)

3.

||

Sau logic (binar)

 

  6.Operatori logici pe biti:

Nr. crt

operator

semnificatie

1.

<<

Operator deplasare (binar)

2.

>>

Operator deplasare (binar)

3.

&

Si pe biti (binar)

4.

|

Sau pe biti (binar)

5.

^

Sau exclusiv pe biti (binar)

6.

~

Negare pe biti (unar)

 

7.1 Operatorul = de atribuire (binar) :

variabila=expresie

sau:

var1=var2=var3=….=varn=expresie

 

7.2 Operatori de atribuire compusi (binari):

*=, /=,  %= ,+=, -= ,&=, ^= , |= , <<=  >>=

 

8. Operatorul virgula   (binar)

Exp1, exp2, exp3,…., expn

 

9.Operatorul conditional ?: (ternar)

exp1?exp2:exp3

 

10.Operatorul sizeof(expresie)

11. Operatorul de conversie explicita (typecast)