91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Js移位操作及其應用是怎樣的

發布時間:2021-11-11 09:45:01 來源:億速云 閱讀:141 作者:柒染 欄目:開發技術

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

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

  什么是移位操作

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

  //lodash源碼里定義的常量

  varCLONE_DEEP_FLAG=1

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

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

  00000000000000000000000000000001

  移位操作符有哪些

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

  &(位與)

  leta=1,

  b=2

  console.log(a&b)//0

  //0001

  //0010

  //=0000

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

  |(位或)

  leta=1,

  b=2

  console.log(a|b)//3

  //0001

  //0010

  //=0011

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

  ^(位異或)

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

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

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

js
AI

沙田区| 巴青县| 合山市| 浙江省| 玉林市| 旺苍县| 禹州市| 财经| 工布江达县| 铁岭市| 布尔津县| 永兴县| 卫辉市| 桦川县| 甘肃省| 武冈市| 庆城县| 舞阳县| 昭平县| 临城县| 明溪县| 宾川县| 秦皇岛市| 高要市| 关岭| 中超| 台南市| 景洪市| 仁布县| 南丹县| 连江县| 天台县| 玉屏| 赫章县| 安福县| 泰和县| 定州市| 元朗区| 青川县| 武安市| 施甸县|