如何将标志写入7位数字

时间:2018-08-27 19:29:10

标签: javascript integer bit-manipulation

沿着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

3 个答案:

答案 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