Operatorzy JavaScript Bitwise

Operatorzy JavaScript Bitwise
Operatorzy bitowate są używane do wykonywania liczbowych konwersji w JavaScript. W JavaScript liczby są przechowywane jako 64 bity; Jednak wszystkie operacje bitowe są objęte liczbami binarnymi z 32 bitami. Dlatego JavaScript przekształca liczby na 32 bity przed wdrożeniem operatorów bitowych. Po wdrożeniu operatorów bitowców liczby są przekształcane z powrotem na 64 bity.

Podstawowym powodem korzystania z tych operatorów jest to, że operatorzy są znacznie szybsi w matematyce i równoważnikach. W tym samouczku dowiemy się o operatorach bitowców w JavaScript i dowiemy się o potrzebie i wykorzystaniu tych operatorów. W tym artykule opisujemy typy operatorów bitowców z przykładami.

Rodzaje operatorów bitowców

Wszyscy operatorzy bitowate zajmują się swoimi operandami w zestawie 32 bity; te bity mają postać cyfr binarnych. Jednak wynik tych bitów jest pokazany w postaci dziesiętnej. W poniższej tabeli definiujemy wielu operatorów bitowców w JavaScript z przykładami kodu.

Reprezentacja operatorów

Nazwa operatorów Symbol operatora Przykład
I operator I A&B
Lub operator | A | B
Nie operator ~ A ~ B
Operator Xor ^ A ^ B

Notatka: Maksymalne i minimalne reprezentowalne zakresy całkowitej są zdefiniowane w operatorach bitowych, takich jak

  • Minimalny reprezentowalny zakres liczb całkowitych = -2147483648,
  • Maksymalny reprezentowalny zakres liczby całkowitej = 2147483647.

Daj się dowiedzieć o każdym operatorze jeden po drugim wraz z kilkoma przykładami.

I operator w JavaScript

W operatorze i operator. Jego wyjście wynosi 0, jeśli którykolwiek z operandów wynosi 0 i zwraca 1, jeśli oba operandy to 1. Wyjścia i tabeli pokazano w danej tabeli.

Operacje i operator

Operand 1 Operand 2 I operacja
1 1 1 i 1 = 1
1 0 1 i 0 = 0
0 1 0 i 1 = 0
0 0 0 i 0 = 0

Rzućmy okiem na przykład dalszego wyjaśnienia i operatora.

Przykład

Istnieją dwie liczby całkowite 12 i 25 do wdrożenia i operatora.

Na pierwszym kroku oba liczby całkowite są przekształcane w bity. Konwersja bitów 12 i 25 to:

12 = 0000000000000000000000000000001100,
25 = 000000000000000000000000000111001.

Po konwersji liczb całkowitych zastosowano operator.

// najpierw przekonwertuj obie liczby całkowite w formie binarnej,
12 = 01100
25 = 011001
00001100
& 00011001
--------
00001000 = 8 // (w dziesiętnym)

Poprzednie zera są usuwane ze względu na prostotę. Po wdrożeniu i operatora odpowiedź wynosi 00001000, która wynosi 8 w liczbach całkowitych.

Program Bitwise and Operator w JavaScript

Niech a = 12;
Niech b = 25;
wynik = a & b;
konsola.log (wynik); // 8

Lub operator w JavaScript:

W operatorze OR są dwa operandy (0,1). Wyjście to 0, jeśli oba operandy wynoszą 0s, a wyjście to 1, jeśli którykolwiek z jednego operandu jest 1. W danej tabeli podano wszystkie możliwe wyjścia operatora:

Operacje operatora

Operand 1 Operand 2 I operacja
1 1 1 | 1 = 1
1 0 1 | 0 = 1
0 1 0 | 1 = 1
0 0 0 | 0 = 0

Rzućmy okiem na przykład dalszego wyjaśnienia lub operatora.

Przykład

Istnieją dwie liczby całkowite 12 i 25 do wdrożenia operatora lub.

Najpierw konwertujemy oba liczby całkowitowe w bity.Konwersja bitów 12 i 25 to:

12 = 01100,
25 = 11001.

Poprzednie zera są usuwane ze względu na prostotę.

// najpierw przekonwertuj obie liczby całkowite w formie binarnej,
12 = 01100
25 = 11001
// Bitwise lub działanie 12 i 25
00001100
|. 00011001
--------
00011101 = 29 // (w dziesiętnym)

Po konwersji liczb całkowitych zastosowano operator OR, odpowiedź wynosi 11101, co stanowi 29.

Program Bitwise lub operator w JavaScript

// Przykład Bitwise lub operator
Niech a = 12;
Niech b = 25;
wynik = a | B;
konsola.log (wynik); // 29

Operator Xor w JavaScript

Istnieją dwa operandy w formie binarnej (0,1) w operatorze XOR. Zwraca 0 jako wyjście, jeśli oba operandy są takie same i zwracają 1 jako wyjście, jeśli oba operandy są różne. W danej tabeli podano wszystkie możliwe wyjścia operatora XOR:

Operacje operatora Xor

Operand 1 Operand 2 I operacja
1 1 1 ^ 1 = 0
1 0 1 ^ 0 = 1
0 1 0 ^ 1 = 1
0 0 0 ^ 0 = 0

Rzućmy okiem na przykład dalszego wyjaśnienia operatora Xor.

Przykład

Istnieją dwie liczby całkowite 12 i 25 do wdrożenia operatora XOR.

Najpierw konwertujemy oba liczby całkowitowe w bity.Konwersja bitów 12 i 25 to:

12 = 01100,
25 = 11001. // najpierw przekonwertuj obie liczby całkowite w formie binarnej,
12 = 01100
25 = 11001
// Bitwise Xor Operation 12 i 25
01100
^ 11001
-----
10101 = 21 // (w dziesiętnym)

Po konwersji liczb całkowitych zastosowano operator XOR, odpowiedź wynosi 11101, która jest równa 21.

Program Bitwise Xor Operator w JavaScript

// Przykład operatora Bitwise Xor Xor
Niech a = 12;
Niech b = 25;
wynik = a ^ b;
konsola.log (wynik); // 21

Nie operator w JavaScript

Nie jest nazywany operatorem negacji. Przekształca bity 1 na 0 i 0 do 1. Jest to nieusowy operator spośród wszystkich operatorów bitowych.

Operacje nie operatora

Operand 1 Nie operacja
1 (~ 1) = 0
0 (~ 0) = 1

Rzućmy okiem na przykład dalszego wyjaśnienia nie operatora.

Przykład

Ponieważ nie operatorem jest nieusowym operatorem; Dlatego tutaj wzięliśmy tylko jeden operand (12) i zastosowaliśmy na nim działanie.

Najpierw przekonwertuj 12 na formę binarną:

12 = 0000000000000000000000000000001100.

Nie operator przekonwertuje wszystkie 0 na 1 i zmieni wszystkie 1 na 0.

// najpierw przekonwertuj liczbę całkowitą w formie binarnej,
12 = 0000000000000000000000000000001100
// Bitwise nie działa 12
~ 00000000000000000000000000001100
---------------------------------
111111111111111111111111110011 = -13 // (w dziesiętnym)

Odpowiedź zostanie 1111111111111111111111110011, która jest równa -13 w formie liczbowej.

Program Bitwise Not Operator w JavaScript

// Bitwise Not Operator Przykład
Niech b = 12;
wynik = ~ b;
konsola.log (wynik); // -13

Wniosek

Operatorzy bitowate to ci, którzy pracują na liczbach całkowitych na poziomie binarnym. W JavaScript są czterech operatorów bitowców: i, lub, xor, i nie. Ten zapis wyjaśnia wszystkie cztery typy operatorów bitowych i ich pracę w JavaScript. Opisaliśmy wszystkich operatorów z ich możliwymi wyjściami w postaci tabel. Wszystkie operacje są dobrze wyjaśnione przykładami i kodami.