亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

熱點面試題: 常用位運算方法

前言

极度投入,深度沉浸,边界清晰

前端小菜鸡一枚,分享的文章纯属个人见解,若有不正确或可待讨论点可随意评论,与各位同学一起学习~

常用位运算方法

判断一个数的奇偶性

  • 奇数:返回 1
  • 偶数:返回 0
console.log(7 & 1);    // 1
console.log(8 & 1) ;   // 0

向下取整

// 不能对负数取整
console.log(~~11.71)     // 11
console.log(11.71 >> 0)  // 11
console.log(11.71 << 0)  // 11
console.log(11.71 | 0)   // 11
console.log(6.83 >>> 0)   // 6

取中间值

console.log(12 >> 1); // 6

判断一个数是否等于目标数

let a = 4654;

// 如何和目标数相等,则等于 0,否则等于其他数
if (a ^ 1171) {
    // 不等于的情况
    console.log(12);
} else {
    // 等于的情况
    console.log(34);
}

判断一个数是不是 2 的整数次幂, 如果是0,则说明这个数是 2 的整数次幂

n & (n - 1)
// 是 0 则是 2 的整数次幂,不是则返回其他数
console.log(16 & (16 - 1)); // 0
console.log(15 & (15 - 1));

判断一个值是否存在

// before
if (arr.indexOf(item) > -1) {
    // code
}

// 按位非:item 将会转换为 string 类型进行查找
if (~arr.indexOf(item)) {
    // code
}

求一个数的相反数

// 求负数的相反数
console.log(~-n + 1);   // n
// 求正数的相反数
console.log(~n + 1);  // -n

文章特殊字符描述:

  1. 问题标注 Q:(question)
  2. 答案标注 R:(result)
  3. 注意事项标准:A:(attention matters)
  4. 详情描述标注:D:(detail info)
  5. 总结标注:S:(summary)
  6. 分析标注:Ana:(analysis)
  7. 提示标注:T:(tips)
點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
Web前端工程師
手記
粉絲
6
獲贊與收藏
41

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消