真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Js移位操作及其應用是怎樣的-創(chuàng)新互聯(lián)

Js移位操作及其應用是怎樣的,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

成都創(chuàng)新互聯(lián)公司從2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術服務公司,擁有項目網(wǎng)站制作、成都網(wǎng)站建設網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元富拉爾基做網(wǎng)站,已為上家服務,為富拉爾基各地企業(yè)和個人服務,聯(lián)系電話:13518219792

我在看lodash實現(xiàn)一些工具函數(shù)的源碼時發(fā)現(xiàn)lodash定義了一些bitMask的常量。我一開始沒弄明這是什么鬼東西,用Google搜了一圈才發(fā)現(xiàn)是我之前接觸過得位操作運算一類的東西。并且源碼和我搜索的資料給我提供了另一種使用場景,感覺應用性還是蠻強的,所以干脆總結一下好了。

什么是移位操作

先以下面的表達式展開需要了解的基礎知識。

//lodash源碼里定義的常量

varCLONE_DEEP_FLAG=1

JavaScript遵循IEEE754標準,無論是整數(shù)還是小數(shù)都是用雙精度浮點數(shù)表述,雙精度浮點數(shù)8個字節(jié),表示64位二進制位,所以雙精度浮點數(shù)的表示范圍是-2^63~2^63-1。但是在進行位操作時則是用的32位數(shù)表示,也就是4個字節(jié),表示范圍為`-2^31~2^31-1,其中無論是32位還是64位,高位都是符號位,0表示正數(shù),1表示負數(shù)。

上面的表達式在進行位操作就會轉換成下面這種,如果超過32位了,那超過的部分就會全部省去。

00000000000000000000000000000001

移位操作符有哪些

下面介紹幾種常用的操作符。

&(位與)

leta=1,

b=2

console.log(a&b)//0

//0001

//0010

//=0000

把變量a和變量b都展開成32位二進制數(shù),省去前面的0,a的二進制表示為0001,b為0010,接著就是對應位數(shù)的二進制位比較,如果相同就是1,否則為0。

|(位或)

leta=1,

b=2

console.log(a|b)//3

//0001

//0010

//=0011

參照上面一種,不同的是相同的二進制位上,只要有一個是1,則結果就是1,所以就是0011。

^(位異或)

這個和|有點區(qū)別,相同的地方在于如果同一位數(shù)上的數(shù)只要一個是1,則這個位數(shù)的結果就是1,不同的地方在于相同的位數(shù)上如果數(shù)值相同,則結果為0.

總之,移位操作給大家簡單的介紹了一些,希望大家多看看。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)網(wǎng)站建設公司,的支持。


標題名稱:Js移位操作及其應用是怎樣的-創(chuàng)新互聯(lián)
本文地址:http://weahome.cn/article/cdsjji.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部