首页 > 代码库 > javascript——操作符(~、&、|、^、<<、>>)

javascript——操作符(~、&、|、^、<<、>>)

直接上代码吧!

技术分享
 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二进制的反码赋值给num220         //第三步:在把num2换算成十进制数字21         //简单说明:就是把操作数的数值的负数减122 23 24         //2、按位与 &(AND)25         var result=25 & 3;26         alert(result);//127         //说明,就是把两数转换成二进制数字,按照一定的规则:28         //第一个数值的位       第二个数值的位     结果29         //  1                       1           130         //  1                       0           031         //  0                       1           032         //  0                       0           033 34         //简而言之,按位操作符的相对应的位都是1时则返回1,任何一位是0则返回0.35         //然后在得到的二进制转换成十进制数字36       //  25=0000 0000 0000 0000 0000 0000 0001 100137       //  3= 0000 0000 0000 0000 0000 0000 0000 001138       //  ------------------------------------------39       // AND=0000 0000 0000 0000 0000 0000 0000 000140 41 42         //3、按位或 |(OR)43         var result=25 | 3;44         alert(result);//2745         //说明,就是把两数转换成二进制数字,按照一定的规则:46         //第一个数值的位       第二个数值的位     结果47         //  1                       1           148         //  1                       0           149         //  0                       1           150         //  0                       0           051 52         //简而言之,按位操作符的相对应的位有一位是1就返回1,而只有在两个位都是0的情况下才返回0.53         //然后在得到的二进制转换成十进制数字54 55         //  25=0000 0000 0000 0000 0000 0000 0001 100156         //  3= 0000 0000 0000 0000 0000 0000 0000 001157         //  ------------------------------------------58         //  OR=0000 0000 0000 0000 0000 0000 0001 101159 60 61         //4、按位异或 ^(XOR)62         var result= 25 ^ 3;63         alert(result);//2664         //说明,就是把两数转换成二进制数字,按照一定的规则:65         //第一个数值的位       第二个数值的位     结果66         //  1                       1           067         //  1                       0           168         //  0                       1           169         //  0                       0           070         //简而言之,这个操作符(^)在两个数值对应位上只有一个1时才返回1,否则返回0.71         //然后在得到的二进制转换成十进制数字72 73         //  25=0000 0000 0000 0000 0000 0000 0001 100174         //  3= 0000 0000 0000 0000 0000 0000 0000 001175         //  ------------------------------------------76         // XOR=0000 0000 0000 0000 0000 0000 0001 101077 78 79         //5、左移(<<)80         var oldNum=2;81         var newNum=oldNum << 5;82         alert(newNum)83         //说明,将2(二进制数码10)向左移5位结果就是1000000(二进制)等于6484         //注意,左移不会影响操作符的符号位,例如将-2左移5位就是-6485         //2=0000 0000 0000 0000 0000 0000 0000 001086        //64=0000 0000 0000 0000 0000 0000 010 0000087 88 89         //6、有符号右移(>>)90         var oldNum=64;91         var newNum=oldNum >> 5;92        //64=0000 0000 0000 0000 0000 0000 010 0000093         //2=0000 0000 0000 0000 0000 0000 0000 001094         alert(newNum)95     </script>
View Code

 

javascript——操作符(~、&、|、^、<<、>>)