美文网首页
位运算应用

位运算应用

作者: Fantast_d2be | 来源:发表于2020-12-31 09:39 被阅读0次

取模

由于偶数的最低位为 0,奇数为 1,所以取模运算可以用位操作来代替。

// 位操作
if (value & 1) {
    // 奇数
} else {
    // 偶数
}
取整
~~9.12 //9
~~'2.4' //2
~~'-2.4' //-2
~~undefined //0
~~null //0
Number(undefined) //NaN
Number(null) //0
位掩码
const a = 1
const b = 2
const c = 4
const options = a | b | c

通过定义这些选项,可以用按位与操作来判断 a/b/c 是否在 options 中。

// 选项 b 是否在选项中
if (b & options) {
    ...
}

左移

左移运算将数对应的二进位全部向左移动若干位,高位丢弃,低位补 0。左移运算的运算符为 <<

5<<4 //80 类似5*2的四次方

右移

80 >> 4 //5 类似5/(2的四次方) 当除以数字小于1则等于0,例如
4 >> 2 //1
4 >> 3 //0

位运算做授权

// 位运算操作

// 定义
const STYLE = 1;
const CLASS = 1 << 1;
const CHILDREN = 1 << 2;

// 授权
let vnodeType = STYLE | CLASS;

// 判断 &
console.log("vnodeType的类型STYLE", !!(vnodeType & STYLE));
console.log("vnodeType的类型CLASS", !!(vnodeType & CLASS));
console.log("vnodeType的类型CHILDREN", !!(vnodeType & CHILDREN));
// 删除授权
vnodeType ^= CLASS;
console.log("vnodeType的类型STYLE", !!(vnodeType & STYLE));
console.log("vnodeType的类型CLASS", !!(vnodeType & CLASS));
console.log("vnodeType的类型CHILDREN", !!(vnodeType & CHILDREN));

相关文章

  • 位运算应用

    取模 由于偶数的最低位为 0,奇数为 1,所以取模运算可以用位操作来代替。 取整 位掩码 通过定义这些选项,可以用...

  • 位运算及其应用

    内容概要: 位运算基本操作 基于位运算的状态压缩 位运算经典应用 位运算解N皇后问题 位运算 符号描述规则&与1&...

  • 位运算的应用

    位运算 程序中的所有数在计算机内存中都是以二进制的形式存储的。位运算说穿了,就是直接对整数在内存中的二进制位进行操...

  • 位运算与应用

    转载自http://blog.csdn.net/u012713968/article/details/504816...

  • C语言的位操作(Two)

    一、位运算赋值运算符 闲话就不多说,直接上图咯。 位运算赋值运算符 二、位运算应用 **eg:取一个整数a从右端开...

  • 位运算的简单应用-权限管理

    个人博客http://www.milovetingting.cn 位运算的简单应用-权限管理 位运算在实际的开发中...

  • 17.位运算基础及实战要点

    17.位运算基础及实战要点 位运算符 算数移位与逻辑移位 位运算的应用 为什么需要位运算 机器里的数字表示方式和存...

  • Java位运算的应用

    一、判断整数的奇偶性 传统思路: 按照传统的思路,判断一个整数的奇偶性是通过用这个数与2求模,看运算结果是否为0 ...

  • 位运算的几种应用

    例1:不借助临时变量,交换两个数的值 思路:通过异或,先求出两个变量的不同的位 例2:求一个UInt二进制数中1的...

  • 12.21

    今天星期四,今天是牛老师给我们讲课,主要讲了位的运算,包括位运算的运算符,二进制十进制十六进制的转换,位运算的应用...

网友评论

      本文标题:位运算应用

      本文链接:https://www.haomeiwen.com/subject/fynfoktx.html