沿着How to read off 1 flag bit and get integer at same time的各行,想知道如何做相反的工作,即在JavaScript中将标志写入7位数字的右侧。
我假设我们只是在JavaScript中使用整数,并且在代码中进行了检查以确保数字<128。因此,鉴于此,我想知道如何基本说:
var flag = true
var integer = 123
var combined = integer + flag
答案 0 :(得分:1)
您可以通过对整数进行位移位并添加标志来存储组合数字。
const combined = (integer << 1) + flag
就足够了,给您一个电话号码。由于操作的顺序,圆括号是必需的。
答案 1 :(得分:1)
您可以使用bitwise operator实现这一目标
var flag = true;
var integer = 123;
console.log((integer >>> 0) + flag);
答案 2 :(得分:0)
在123
上,最右边的位已经设置。如果要设置最右边的位,只需添加一个即可。或者,您可以integer | flag ? 1 : 0
到整数。
如果要在右侧放置标志,请先将整数integer << 1
再移到var combined = integer | flag ? 1 : 0