Home > Web Front-end > JS Tutorial > body text

A brief analysis of the application of JavaScript bitwise operators_javascript skills

WBOY
Release: 2016-05-16 17:01:34
Original
1249 people have browsed it

Most languages ​​provide bitwise operators. Bitwise operators are widely used in languages ​​such as c and c, but there are not many application examples in scripting languages ​​such as JS and AS. Sometimes, it is appropriate You'll get good results using bitwise operators.
The following is a brief talk about the use of bit operations in js based on my own knowledge (it also applies to other languages). If there are any errors, please correct me.

Bitwise operators treat the operand as a series of individual bits rather than a numeric value. So before that, I have to mention what a "bit" is:
Numbers or characters are stored in memory as a sequence of 0 and 1. Each 0 and 1 is called a bit, for example Decimal data 2 is stored in the computer as 0 0 0 0 0 0 1 0. When we change the bit value in the memory, the meaning of this value also changes. For example, move the front of 2 by one place. Now The storage unit becomes 0 0 0 0 0 1 0 0. This value represents decimal 4, which is the operating principle of the bitwise operator.

There are 6 bitwise operators
& bitwise AND
| bitwise or
^ bitwise XOR
~ negation
>> right shift
<


1 & operator
& is a binary operator. It combines the corresponding bits in the operands in a specific way. If the corresponding bits are all 1, then the result is 1. If any If the bit is 0, the result is 0
The result of 1 & 3 is 1
Let’s see how it works: The binary representation of
1 is 0 0 0 0 0 0 1
3’s binary representation Expressed as 0 0 0 0 0 1 1
The result obtained according to the rule of & is 0 0 0 0 0 0 0 1. The decimal representation is 1

As long as any bit is 0, the result of the & operation is 0, so you can use & to set the unnecessary bits of a variable to 0. For example, the binary representation of a variable is 0 1 0 0 1 0 0 1, I If you want to retain the lower 4 bits, just use & 0x0F to eliminate the upper 4 bits (remember: 0x0F is hexadecimal notation, and the corresponding binary is 0 0 0 0 1 1 1 1). This feature has a very important application. Will be mentioned later.

2 | The difference between operator
| and & is that if any operand in the corresponding bit is 1, then the result is 1
1 | The result of 3 is 3

3 ^ operator
^ operator is similar to |, but one difference is that if both operating bits are 1, the result is 0
0 1 0 0 0 0 0 1
0 1 0 1 1 0 1 0
yields 0 0 0 1 1 0 1 1

4 ~ Operator
~ is the bitwise negation, 1 changes to 0, 0 changes to 1

5 Shift operator The shift operator moves the bits to the left or right according to the specified value.
<< moves to the left and >> moves to the right. The excess bits will be lost, and The vacant bits are filled with 0

For example, 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 (decimal 16387) moving two places to the left will become
0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 ( Decimal 12)
moved two places to the right is
0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 (decimal 4096)


The following introduces some specific applications
As mentioned earlier, 2 is moved forward by 1 place to become 4. This feature can be used to perform multiplication operations
2 << 1 =4
3 < ;< 1 = 6
4 << 1 = 8
Similarly>> you can do division operation


Any decimal can be rounded to an integer
For example, 3.14159 >> 0 = 3;

^The computing service has a magical feature
Such as the following code

Copy code The code is as follows:

<script><br>var n1 = 3; <br>var n2 = 4;<br>n1 ^= n2;<br>n2 ^= n1;<br>n1 ^= n2;<br></script>
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template