Javascript有算數操作符,賦值操作符,比較操作符,邏輯操作符,同時也有位操作符。
引子
先想一想,如下,該輸出什么答案?
console.log('5 & 1 :', ( 5 & 1 )); console.log('5 | 1 :', ( 5 | 1)); console.log('~ 5:', (~5)); console.log('5 ^ 1 :', ( 5 ^ 1)); console.log('5 << 1 :', ( 5 << 1)); console.log('5 >> 1 :', ( 5 >> 1));
十進制轉二進制
先將值轉換成二進制。
5除以2余1,2除以2余0,1除以2余1。將余數倒過來,就得到5的二進制數101。 同理可得1的二進制數1。
與&
與運算法則:兩位同時為“1”,結果才為“1”,否則為0
5 & 1 = 1
或|
或運算法則:兩位其中一個為“1”,結果為“1”,否則為0
5| 1 = 5
非
非運算法則:單目運算符
二進制原碼:0000 0000 0000 0000 0000 0000 0000 0101 取反操作后:1111 1111 1111 1111 1111 1111 1111 1010 有符號整數都是用補碼來表示,而補碼=反碼+1 1.先求反碼:1000 0000 0000 0000 0000 0000 0000 0101 2.再求補碼:1000 0000 0000 0000 0000 0000 0000 0110 最高位代表符號位 1 表示負數,0 表示正數 ~5 = -6
異或^
異或運算法則:兩位不同,結果為“1”,否則為0
5^1 = 4
左移
左移運算法則:將數值向左移動若干位,用0補足
5<< 1 = 10
右移
右移運算法則:將數值向右移動若干位
5>>1 = 2
---------------------
作者:foreverling_ling
來源:CSDN
原文:https://blog.csdn.net/foreverling_ling/article/details/61417649
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!