Operatori. Exemple

90

 Operatori logici

Operator

Descriere

Exemplu

Rezultat

&&

ŞI (AND).

$a=(3==4)&&(3<4);

print("  (3==4)&&(3<4)  = [",$a,"]\n");

  (3==4)&&(3<4)  = []

||

SAU (OR)

$a=(3==4)||(3<4);

print("  (3==4)||(3<4)  = [",$a,"]\n");

  (3==4)||(3<4)  = [1]

!

Complement logic (NOT).

$a=!((3==4)&&(3<4));

print("!((3==4)&&(3<4)) = [",$a,"]\n");

!((3==4)&&(3<4)) = [1]

Operatori la nivel de bit

Operator

Descriere

Exemplu

&

AND

3  & 2 = 2

|

OR

3  | 2 = 3

^

XOR (sau exclusiv) 

3  ^ 2 = 1

~

COMPLEMENT

    ~3 = 4294967292

2**32-1= 4294967295

Complementul se face pe 4 byte (32 biţi).

>>

SHIFT RIGHT

3 >> 2 = 0

4 >> 2 = 1

>> este echivalentă cu împărţirea la 2 la operandul din dreapta.

<<

SHIFT LEFT 

3 << 2 = 12

>> este echivalentă cu înmulţirea cu 2 la operandul din dreapta.

Operatori de atribuire

Operator

Operaţie efectuată

Exemplu

Rezultat

=

atribuire simplă

$a=3;

3

+=

adunare şi atribuire

$a=3;$a +=2;

print("3 += 2 = ",$a,"\n");

3 += 2 = 5

-=

scădere şi atribuire 

$a=3;$a -=2;

print("3 -= 2 = ",$a,"\n");

3 -= 2 = 1

*=

înmulţire şi atribuire

$a=3;$a *=2;

print("3 *= 2 = ",$a,"\n");

3 *= 2 = 6

/=

împărţire şi atribuire 

$a=3;$a /=2;

print("3 /= 2 = ",$a,"\n");

3 /= 2 = 1.5

%=

restul şi atribuire

$a=3;$a %=2;

print("3 %= 2 = ",$a,"\n");

3 %= 2 = 1

**=

exponenţiere şi atribuire

$a=3;$a**=2;

print("3**= 2 = ",$a,"\n");

3**= 2 = 9

&=

AND la nivel de bit şi atribuire

$a=3;$a &=2;

print("3 &= 2 = ",$a,"\n");

3 &= 2 = 2

|=

OR la nivel de bit şi atribuire

$a=3;$a |=2;

print("3 |= 2 = ",$a,"\n");

3 |= 2 = 3

^=

XOR la nivel de bit şi atribuire and assignment 

$a=3;$a ^=2;

print("3 ^= 2 = ",$a,"\n");

3 ^= 2 = 1

© Cornel Mironel Niculae, 2003-2004

13-Nov-2009