廢話少說,直接上代碼
代碼如下:
<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>
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com