直接上代码吧!
1 <script type="text/javascript">
2 //javascript操作符
3 //1、按位非~
4 var num1=25;//
5 var num2=~num1;//
6 alert(num2)
7
8 var num3=10;
9 var num4=~num3;
10 alert(num4)
11
12 var num5=99;
13 var num6=~num5;
14 alert(num6)
15
16 //说明:相信大家也已经看出来了按位~(NOT)的实现原理:
17 //以num1、num2为讲解对象
18 //第一步:先把num1转换成二进制
19 //第二步:取得num1二进制的反码赋值给num2
20 //第三步:在把num2换算成十进制数字
21 //简单说明:就是把操作数的数值的负数减1
22
23
24 //2、按位与 &(AND)
25 var result=25 & 3;
26 alert(result);//1
27 //说明,就是把两数转换成二进制数字,按照一定的规则:
28 //第一个数值的位 第二个数值的位 结果
29 // 1 1 1
30 // 1 0 0
31 // 0 1 0
32 // 0 0 0
33
34 //简而言之,按位操作符的相对应的位都是1时则返回1,任何一位是0则返回0.
35 //然后在得到的二进制转换成十进制数字
36 // 25=0000 0000 0000 0000 0000 0000 0001 1001
37 // 3= 0000 0000 0000 0000 0000 0000 0000 0011
38 // ------------------------------------------
39 // AND=0000 0000 0000 0000 0000 0000 0000 0001
40
41
42 //3、按位或 |(OR)
43 var result=25 | 3;
44 alert(result);//27
45 //说明,就是把两数转换成二进制数字,按照一定的规则:
46 //第一个数值的位 第二个数值的位 结果
47 // 1 1 1
48 // 1 0 1
49 // 0 1 1
50 // 0 0 0
51
52 //简而言之,按位操作符的相对应的位有一位是1就返回1,而只有在两个位都是0的情况下才返回0.
53 //然后在得到的二进制转换成十进制数字
54
55 // 25=0000 0000 0000 0000 0000 0000 0001 1001
56 // 3= 0000 0000 0000 0000 0000 0000 0000 0011
57 // ------------------------------------------
58 // OR=0000 0000 0000 0000 0000 0000 0001 1011
59
60
61 //4、按位异或 ^(XOR)
62 var result= 25 ^ 3;
63 alert(result);//26
64 //说明,就是把两数转换成二进制数字,按照一定的规则:
65 //第一个数值的位 第二个数值的位 结果
66 // 1 1 0
67 // 1 0 1
68 // 0 1 1
69 // 0 0 0
70 //简而言之,这个操作符(^)在两个数值对应位上只有一个1时才返回1,否则返回0.
71 //然后在得到的二进制转换成十进制数字
72
73 // 25=0000 0000 0000 0000 0000 0000 0001 1001
74 // 3= 0000 0000 0000 0000 0000 0000 0000 0011
75 // ------------------------------------------
76 // XOR=0000 0000 0000 0000 0000 0000 0001 1010
77
78
79 //5、左移(<<)
80 var oldNum=2;
81 var newNum=oldNum << 5;
82 alert(newNum)
83 //说明,将2(二进制数码10)向左移5位结果就是1000000(二进制)等于64
84 //注意,左移不会影响操作符的符号位,例如将-2左移5位就是-64
85 //2=0000 0000 0000 0000 0000 0000 0000 0010
86 //64=0000 0000 0000 0000 0000 0000 010 00000
87
88
89 //6、有符号右移(>>)
90 var oldNum=64;
91 var newNum=oldNum >> 5;
92 //64=0000 0000 0000 0000 0000 0000 010 00000
93 //2=0000 0000 0000 0000 0000 0000 0000 0010
94 alert(newNum)
95 </script>