日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > web前端 > jscript > 簡(jiǎn)析JavaScript按位運(yùn)算符的應(yīng)用

簡(jiǎn)析JavaScript按位運(yùn)算符的應(yīng)用

來源:程序員人生   發(fā)布時(shí)間:2014-05-09 05:46:29 閱讀次數(shù):2696次

大多數(shù)語言都提供了按位運(yùn)算符,按位運(yùn)算符在c,c++等語言中運(yùn)用廣泛,而在JS,AS等腳本語言中則沒有太多的應(yīng)用例子,有時(shí)候,適當(dāng)?shù)氖褂冒次贿\(yùn)算符會(huì)取得很好的效果。
下面根據(jù)自己的認(rèn)知簡(jiǎn)單的談一下js中的位操作使用(同樣適用于其他語言),如果有錯(cuò)誤,歡迎指正。

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

按位運(yùn)算符有6個(gè)
& 按位與
|按位或
^按位異或
~取反
>>右移
<<左移


1 & 運(yùn)算符
&是二元運(yùn)算符,它以特定的方式的方式組合操作數(shù)中對(duì)應(yīng)的位 如果對(duì)應(yīng)的位都為1,那么結(jié)果就是1, 如果任意一個(gè)位是0 則結(jié)果就是0
1 & 3的結(jié)果為1
來看看它的怎么運(yùn)行的:
1的二進(jìn)制表示為 0 0 0 0 0 0 1
3的二進(jìn)制表示為 0 0 0 0 0 1 1
根據(jù) & 的規(guī)則 得到的結(jié)果為 0 0 0 0 0 0 0 1,十進(jìn)制表示就是1

只要任何一位是0 &運(yùn)算的結(jié)果就是 0,所以可以用&把某個(gè)變量不必要的位設(shè)為0, 比如某個(gè)變量的二進(jìn)制表示為 0 1 0 0 1 0 0 1, 我想保留低4位,消除高4位 用 & 0x0F就可以了(?。?x0F為16進(jìn)制表示法,對(duì)應(yīng)的二進(jìn)制為 0 0 0 0 1 1 1 1),這個(gè)特性有個(gè)很重要的應(yīng)用,在后面會(huì)提到。

2 | 運(yùn)算符
| 跟 & 的區(qū)別在于 如果對(duì)應(yīng)的位中任一個(gè)操作數(shù)為1 那么結(jié)果就是1
1 | 3 的結(jié)果為3

3 ^ 運(yùn)算符
^運(yùn)算符跟 | 類似,但有一點(diǎn)不同的是 如果兩個(gè)操作位都為1的話,結(jié)果產(chǎn)生0
0 1 0 0 0 0 0 1
0 1 0 1 1 0 1 0
產(chǎn)生 0 0 0 1 1 0 1 1

4 ~ 運(yùn)算符
~是對(duì)位求反 1變0, 0變1

5 移位運(yùn)算符移位運(yùn)算符把位按指定的值向左或向右移動(dòng)
<< 向左移動(dòng) 而 >> 向右移動(dòng),超過的位將丟失,而空出的位則補(bǔ)0

如 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1(十進(jìn)制16387) 向左移動(dòng)兩位將變成
0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 (十進(jìn)制12)
向右移動(dòng)兩位則是
0 0 0 1 0 0 0 0 0 0 0 0 0 0 0(十進(jìn)制4096)


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


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

^運(yùn)算服有個(gè)神奇的特性
如以下代碼

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

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: a级毛片免费高清视频 | 欧美激情精品久久久久久变态 | av网址观看| 在线亚洲自拍 | youjizz日本人 | 国产一区二区成人 | 3p在线| 国产精品亚洲片在线播放 | 一区在线观看 | 激情国产视频 | 麻豆视频国产 | 精品国产不卡一区二区三区 | 欧美日韩精品一区二区在线播放 | 欧美黄网站 | 久久久毛片 | 欧美精品久久久久久久久久 | 一区二区日韩 | 亚洲精品视频免费 | 永久免费在线观看 | 日本在线黄色 | 国产在线视频一区二区 | 精品在线免费看 | 日韩一级性片 | 日韩毛片在线观看 | 国产精品大片 | 久久9精品| 国产精品久久久久久久久久久久久 | 五月婷婷视频 | 亚洲福利在线观看 | 精品一区电影 | 黄视频在线观看网站 | 欧美手机在线 | 中文字幕一区二区三区精彩视频 | a爱视频 | 手机av在线不卡 | 亚洲欧美一区二区三区国产精品 | 自拍偷拍亚洲精品 | 欧美日韩电影一区二区三区 | 久久亚洲国产精品 | 久久久久国产精品 | 美女又爽又黄视频毛茸茸 |