欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript?位運算及實際應用實例

 更新時間:2023年08月14日 08:37:36   作者:Never_Mind  
這篇文章主要為大家介紹了JavaScript位運算及實際應用實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

位運算基礎(chǔ)

位運算時所有操作數(shù)均被視為 32 位補碼二進制串,不足補 0,超出則丟棄最高有效位。運算結(jié)果也按補碼反轉(zhuǎn)形式返回

&:位 AND。僅當兩個操作數(shù)對應位均為 1 時,該位的結(jié)果值為 1。例如:

const a = 120; // 0b000...1111000
const b = 11; //  0b000...0001011
a & b; // 8 = 0b000...1000
  • &=:位 AND 賦值。兩個操作數(shù)做位 AND 運算,并將結(jié)果賦值給第一個操作數(shù)

|:位 OR。只要兩個操作數(shù)對應位的其中一個為 1,該位的結(jié)果值便為 1。例如:

const a = 5; // 0b000...0101
const b = 3; // 0b000...0011
a | b; // 7 = 0b000...0111
  • |=:位 OR 賦值。兩個操作數(shù)做位 OR 運算,并將結(jié)果賦值給第一個操作數(shù)

^:位 XOR。當兩個操作數(shù)對應位中僅有一個為 1 時,該位的結(jié)果值為 1。例如:

const a = 5; // 0b000...0101
const b = 3; // 0b000...0011
a ^ b; // 6 = 0b000...0110
  • ^=:位 XOR 賦值。兩個操作數(shù)做位 XOR 運算,并將結(jié)果賦值給第一個操作數(shù)
  • ~:位 NOT。將操作數(shù)按位取反。運算結(jié)果滿足~x === -(x+1)

<<:左移位。將第一個操作數(shù)向左移動指定位。左邊移出位被拋棄,右邊多出位由補 0。例如:

const a = 9; // 0b000...001001
const b = 2;
a << b; // 36 = 0b000...100100

>>:帶符號右移位。將第一個操作數(shù)向右移動指定位。右邊移出位被拋棄,左邊多出位由原先最左值補齊

const a = 36; // 0b000...100100
const b = 2;
a >> b; // 9  =  0b000...001001
  • >>>:無符號右移位。將第一個操作數(shù)向右移動指定位。右邊移出位被拋棄,左邊多出位由補 0

實際應用

判斷整數(shù)是否為 2 的冪

function isPowerOfTwo(n) {
    return n > 0 && ((n - 1) & n) === 0;
}

判斷整數(shù)奇偶性

function isOdd(n) {
    return (n & 1) === 1;
}

標志判斷

const canFly = 1 << 0;
const canRun = 1 << 1;
const canSwim = 1 << 2;
const canJump = 1 << 3;
let flags = 0;
// 添加標志
flags |= canFly;
flags |= canJump;
// 判斷標志
!!(flags & canFly); // true
!!(flags & canJump); // true
// 清除標志
flags &= ~canFly;
!!(flags & canFly); // false

以上就是JavaScript 位運算及實際應用的詳細內(nèi)容,更多關(guān)于JavaScript 位運算及實際應用的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • JS實現(xiàn)關(guān)閉小廣告特效

    JS實現(xiàn)關(guān)閉小廣告特效

    這篇文章主要為大家詳細介紹了JS實現(xiàn)關(guān)閉小廣告特效,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • WordPress 插件——CoolCode使用方法與下載

    WordPress 插件——CoolCode使用方法與下載

    本插件原修改自 Chroder.com 的 WordPress Code Highlight 插件。但 CoolCode 插件在它基礎(chǔ)上修改了很多的內(nèi)容。
    2007-07-07
  • 微信小程序 wx:for遍歷循環(huán)使用實例解析

    微信小程序 wx:for遍歷循環(huán)使用實例解析

    這篇文章主要介紹了微信小程序 wx:for遍歷循環(huán)使用實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-09-09
  • ES6學習教程之模板字符串詳解

    ES6學習教程之模板字符串詳解

    大家都知道在ES6中引進的一種新型的字符串字面量語法-模板字符串,下面這篇文章主要給大家介紹了關(guān)于ES6學習教程之模板字符串的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2017-10-10
  • 符合W3C Web標準的圖片連續(xù)無間隙水平滾動

    符合W3C Web標準的圖片連續(xù)無間隙水平滾動

    很久以前就有這個問題,總是找不到通用的,或比較簡單的“圖片連續(xù)無間隙向左滾動,無間隙向右滾動,符合W3C Web標準”
    2008-06-06
  • js控制fieldset高度的代碼

    js控制fieldset高度的代碼

    js控制fieldset高度的代碼...
    2007-11-11
  • 原生Javascript/原生JS修改CSS樣式的4種方式簡單示例

    原生Javascript/原生JS修改CSS樣式的4種方式簡單示例

    在網(wǎng)頁開發(fā)中我們經(jīng)常會用到JavaScript來操作網(wǎng)頁元素,其中一個常見的操作就是修改元素的CSS樣式,下面這篇文章主要給大家介紹了關(guān)于原生Javascript/原生JS修改CSS樣式的4種方式,需要的朋友可以參考下
    2024-03-03
  • 使用js編寫實現(xiàn)拼圖游戲

    使用js編寫實現(xiàn)拼圖游戲

    這篇文章主要為大家詳細介紹了使用js編寫實現(xiàn)拼圖游戲,一種是拖拽拼圖,一種是經(jīng)典的九宮格拼圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • 關(guān)于TypeScript開發(fā)的6六個實用小技巧分享

    關(guān)于TypeScript開發(fā)的6六個實用小技巧分享

    TypeScript是Javascrip t超集,支持靜態(tài)類型檢測,可以在編譯期提前暴露問題,節(jié)省debug時間,下面這篇文章主要給大家介紹了關(guān)于TypeScript開發(fā)的6六個實用小技巧,需要的朋友可以參考下
    2021-09-09
  • 純JavaScript代碼實現(xiàn)移動設(shè)備繪圖解鎖

    純JavaScript代碼實現(xiàn)移動設(shè)備繪圖解鎖

    為了個人信息的安全起見,移動設(shè)備上都有個繪圖解鎖,使用起來非常簡單,代碼是怎么實現(xiàn)的呢?下面小編給大家介紹js實現(xiàn)移動設(shè)備繪圖解鎖,需要的朋友可以參考下
    2015-10-10

最新評論