多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > web前端 > jscript > 簡析JavaScript按位運算符的應用

簡析JavaScript按位運算符的應用

來源:程序員人生   發布時間:2014-05-09 05:46:29 閱讀次數:2686次

大多數語言都提供了按位運算符,按位運算符在c,c++等語言中運用廣泛,而在JS,AS等腳本語言中則沒有太多的應用例子,有時候,適當的使用按位運算符會取得很好的效果。
下面根據自己的認知簡單的談一下js中的位操作使用(同樣適用于其他語言),如果有錯誤,歡迎指正。

按位運算符是把操作數看作一系列單獨的位,而不是一個數字值。所以在這之前,不得不提到什么是“位”:
數值或字符在內存內都是被存儲為0和1的序列,每個0和1被稱之為1個位,比如說10進制數據2在計算機內被存儲為 0 0 0 0 0 0 1 0,當我們將內存內的位值改變之后,這個值代表的意義也就變了,比如把2前移動一位, 現在存儲單元里面變成了0 0 0 0 0 1 0 0,這個值表示的是十進制的4,這也就是按位操作符的運算原理。

按位運算符有6個
& 按位與
|按位或
^按位異或
~取反
>>右移
<<左移


1 & 運算符
&是二元運算符,它以特定的方式的方式組合操作數中對應的位 如果對應的位都為1,那么結果就是1, 如果任意一個位是0 則結果就是0
1 & 3的結果為1
來看看它的怎么運行的:
1的二進制表示為 0 0 0 0 0 0 1
3的二進制表示為 0 0 0 0 0 1 1
根據 & 的規則 得到的結果為 0 0 0 0 0 0 0 1,十進制表示就是1

只要任何一位是0 &運算的結果就是 0,所以可以用&把某個變量不必要的位設為0, 比如某個變量的二進制表示為 0 1 0 0 1 0 0 1, 我想保留低4位,消除高4位 用 & 0x0F就可以了(住:0x0F為16進制表示法,對應的二進制為 0 0 0 0 1 1 1 1),這個特性有個很重要的應用,在后面會提到。

2 | 運算符
| 跟 & 的區別在于 如果對應的位中任一個操作數為1 那么結果就是1
1 | 3 的結果為3

3 ^ 運算符
^運算符跟 | 類似,但有一點不同的是 如果兩個操作位都為1的話,結果產生0
0 1 0 0 0 0 0 1
0 1 0 1 1 0 1 0
產生 0 0 0 1 1 0 1 1

4 ~ 運算符
~是對位求反 1變0, 0變1

5 移位運算符移位運算符把位按指定的值向左或向右移動
<< 向左移動 而 >> 向右移動,超過的位將丟失,而空出的位則補0

如 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1(十進制16387) 向左移動兩位將變成
0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 (十進制12)
向右移動兩位則是
0 0 0 1 0 0 0 0 0 0 0 0 0 0 0(十進制4096)


下面介紹一些具體的應用
前面提到2向前移動1位變成4 利用這個特性可以做乘法運算
2 << 1 =4
3 << 1 = 6
4 << 1 = 8
同理 >> 則可以做除法運算


任何小數 把它 >> 0可以取整
如3.14159 >> 0 = 3;

^運算服有個神奇的特性
如以下代碼

  <script>
var n1 = 3;
var n2 = 4;
n1 ^= n2;
n2 ^= n1;
n1 ^= n2;
</script>

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 欧美日本道免费一区二区三区 | 久久精品一区二区三区不卡牛牛 | 国产精品亚洲综合 | 久久免费大片 | 伊人情人综合成人久久网小说 | 伊人久久99 | 亚洲v天堂 | 波多野结衣亚洲一区二区三区 | 欧美性视频在线播放 | 中文无码日韩欧免费视频 | 亚洲免费久久 | 亚洲一区二区在线 | 午夜综合网 | 国产精品久久久久一区二区 | 国内精品哆啪啪 | 欧美日韩在线精品一区二区三区 | 国产精品亚洲片在线观看麻豆 | 国产一区二区视频在线播放 | 91精品国产91热久久p | 日本一本高清v免费视频 | 九月丁香婷婷 | 男女爱爱免费网站视频在线观看 | 中文字幕在线视频免费观看 | 欧美国产另类 | 日韩高清在线高清免费 | 国产欧美日韩综合精品一区二区三区 | 波多野结衣在线一区 | 国产亚洲精品一区久久 | 欧美一级别 | 超清中文乱码精品字幕在线观看 | 日本不卡视频在线播放 | 国产中文99视频在线观看 | 日本www在线 | 成人污片 | 自拍三区 | 日韩乱码视频 | 日韩精品一区二区三区中文在线 | 欧美亚洲国产视频 | 婷婷在线免费视频 | 亚洲天堂2017 | www日本视频|