廢話少說,直接上代碼
復制代碼 代碼如下:
<script type="text/javascript">
//javascript操作符
//1、按位非~
var num1=25;//
var num2=~num1;//
alert(num2)
var num3=10;
var num4=~num3;
alert(num4)
var num5=99;
var num6=~num5;
alert(num6)
//說明:相信大家也已經看出來了按位~(NOT)的實現原理:
//以num1、num2為講解對象
//第一步:先把num1轉換成二進制
//第二步:取得num1二進制的反碼賦值給num2
//第三步:在把num2換算成十進制數字
//簡單說明:就是把操作數的數值的負數減1
//2、按位與 &(AND)
var result=25 & 3;
alert(result);//1
//說明,就是把兩數轉換成二進制數字,按照一定的規則:
//第一個數值的位 第二個數值的位 結果
// 1 1 1
// 1 0 0
// 0 1 0
// 0 0 0
//簡而言之,按位操作符的相對應的位都是1時則返回1,任何一位是0則返回0.
//然後在得到的二進制轉換成十進制數字
// 25=0000 0000 0000 0000 0000 0000 0001 1001
// 3= 0000 0000 0000 0000 0000 0000 0000 0011
// ------------------------------------------
// AND=0000 0000 0000 0000 0000 0000 0000 0001
//3、按位或 |(OR)
var result=25 | 3;
alert(result);//27
//說明,就是把兩數轉換成二進制數字,按照一定的規則:
//第一個數值的位 第二個數值的位 結果
// 1 1 1
// 1 0 1
// 0 1 1
// 0 0 0
//簡而言之,按位操作符的相對應的位有一位是1就返回1,而只有在兩個位都是0的情況下才返回0.
//然後在得到的二進制轉換成十進制數字
// 25=0000 0000 0000 0000 0000 0000 0001 1001
// 3= 0000 0000 0000 0000 0000 0000 0000 0011
// ------------------------------------------
// OR=0000 0000 0000 0000 0000 0000 0001 1011
//4、按位異或 ^(XOR)
var result= 25 ^ 3;
alert(result);//26
//說明,就是把兩數轉換成二進制數字,按照一定的規則:
//第一個數值的位 第二個數值的位 結果
// 1 1 0
// 1 0 1
// 0 1 1
// 0 0 0
//簡而言之,這個操作符(^)在兩個數值對應位上只有一個1時才返回1,否則返回0.
//然後在得到的二進制轉換成十進制數字
// 25=0000 0000 0000 0000 0000 0000 0001 1001
// 3= 0000 0000 0000 0000 0000 0000 0000 0011
// ------------------------------------------
// XOR=0000 0000 0000 0000 0000 0000 0001 1010
//5、左移(<<)
var oldNum=2;
var newNum=oldNum << 5;
alert(newNum)
//說明,將2(二進制數碼10)向左移5位結果就是1000000(二進制)等於64
//注意,左移不會影響操作符的符號位,例如將-2左移5位就是-64
//2=0000 0000 0000 0000 0000 0000 0000 0010
//64=0000 0000 0000 0000 0000 0000 010 00000
//6、有符號右移(>>)
var oldNum=64;
var newNum=oldNum >> 5;
//64=0000 0000 0000 0000 0000 0000 010 00000
//2=0000 0000 0000 0000 0000 0000 0000 0010
alert(newNum)
</script>
注釋裡解釋的很清楚了,小伙伴們是否了解了javascript中的操作符的用法了呢,有疑問就給我留言吧