Javascript 处理二机制 bit 位

文章目录

    返回的数据是一个字节,即 8 bit 位,每一个 bit 代表一个设备状态的开启与否。
    即 8 个不同设备的开启状态。

    如何用 Javascript 来解析二机制状态位呢?

    开关作用

    可以通过 dataView.getUint8(N) 将返回的一个字节数据 array buffer 转换成整数,例如下面的 flags。
    然后通过开关位比对来判断其状态:

    var flags = 5; // 二进制的0101
    
    if (flags & 4) {
      // ...
    }
    // 0101 & 0100 => 0100 => true
    

    注意,这里是单个与符号,两个就是逻辑与符号了。

    左移操作

    简洁直观的开关位表示方法,可以利用左移操作来实现。

    左移运算符(<<)表示将一个数的二进制值向左移动指定的位数,尾部补0,即乘以2的指定次方。

    1 << 2
    4
    
    1 << 3
    8
    
    1 << 4
    16
    
    1 << 5
    32
    

    参考

    • 开关作用 https://albe-js.readthedocs.io/zh_CN/latest/operators/bit/

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式