返回的数据是一个字节,即 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 聊聊, 查看更多联系方式