07. Operatory arytmetyczne i bitowe

Do czego wykorzystywane są operatory arytmetyczne?

Operatory arytmetyczne wykorzystywane są do wykonywania operacji matematycznych na zmiennych (i nie tylko zmiennych).

Operator

Składnia

Opis

+

x + y

Operacja dodawania

-

X - y

Operacja odejmowania

-

- x

Zmienia wartość zmiennej z wartości ujemnej na wartość dodatnią i odwrotnie. Zamiast tego operatora można wykonać -1*x

%

X % y

Zwraca resztę z dzielenia pierwszej zmiennej przez drugą. Dzielenie modulo np.: 4 % 3 = 1

*

X * y

Wykonuje operację mnożenia

/

X / y

Wykonuje operację dzielenia

Skrypt pokazujący działanie operatorów arytmetycznych:

<script>
    var a = 4;
    var b = 3;
    document.write("a = " + a +"<br />");
    document.write("b = " + b +"<br />");
    document.write("a + b = " +(a + b) +"<br />");
    document.write("a – b = " +(a - b) +"<br />");
    document.write("a * b = " +(a * b) +"<br />");
    document.write("a / b = " +(a / b) +"<br />");
    document.write("a % b = " +(a % b) +"<br />");
</script>

Operator łańcuchowy pozwala na łączenie dwóch ciągów znaków w jeden. Stosuje się w tym celu „+”, przykład:

"text1" + "tekst2" //wynik działania text1tekst2

Operatory bitowe związane są z wykonywaniem operacji na bitach. Na odpowiednich bitach zmiennych wykonywane są operacji algebry logicznej. Najpowszechniej chyba spotykanym przypadkiem stosowania wartości bitowych są wszelkiego rodzaju systemy uprawnień.

Operator

Składnia

Opis

&

X & y

Wykonuje operację bitową AND, która zwraca 1 jeśli oba bity wynoszą 1.

^

X ^ y

Wykonuje operację bitową XOR, która zwraca 1, jeśli jeden z bitów, ale nie oba jednocześnie, wynosi 1.

|

X | y

Wykonuje operację bitową OR, która zwraca 1, jeśli jeden z bitów wynosi jeden

<<

X << y

Wykonuje przesunięcie bitów w lewo o podaną liczbę wstawiając zera z prawej strony. X << 1 równoznaczne jest z pomnożeniem X przez 2

>>

X >> y

Wykonuje przesunięcie bitów w prawo o podaną liczbę usuwając nadmiarowe bity z prawej strony. X >> 1 równoznaczne jest z podzieleniem liczby X przez 2 bez reszty

~

~x

Bitowe NOT. Odwraca bit podanego argumentu.

Operatory bitowe traktują swoje argumenty jako zbiory 32 bitów, a nie jak liczby dziesiętne, szesnastkowe, czy ósemkowe. Na przykład binarny zapis liczby dziesiętnej 9 to 1001. Operatory bitowe dokonują swoich operacji na takich właśnie reprezentacjach dwójkowych, ale zwracają standardowe wartości liczbowe JavaScript.

Operator

Działanie (x = 15; y = 9)

&

x

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

1

1

y

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

0

0

1

&

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

0

0

1

 

|

x

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

1

1

y

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

0

0

1

|

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

1

1

 

^

x

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

1

1

y

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

0

0

1

|

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

0

 

<< 2

x

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

1

1

<<2

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

1

1

0

0

 

>> 2

x

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

1

1

>>2

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1