gpt4 book ai didi

Javascript 按位重置值

转载 作者:行者123 更新时间:2023-12-02 16:48:14 26 4
gpt4 key购买 nike

我有

bit1 =1
bit2 =2
bit3 =4
etc...

我想在第2位存储0或1(假或真),所以:

my_value=0;
mydata |=bit2*myvalue;

my_value=1;
mydata |=bit2*myvalue;

(my_value 可以是某个复选框状态)

我的问题是,将 mydata 设置为 1 后,我无法将其设置为零。按位 1 |= 0 为 1 ....

所以我需要一种方法将位设置为零。有没有什么方法可以不用技巧就能做到这一点?

clear方法迫使我们事先知道值?任何帮助w。值得赞赏。

最佳答案

更一般地说,其中 n最低有效位从 0 开始:

设置n使用v |= (1 << n)

清除n使用v &= ~(1 << n)

切换n使用v ^= (1 << n)

如果您确实希望单行代码将特定位设置为 truefalse (其中所需的值保存在变量中)使用:

v = (v & ~(1 << n)) | (value ? (1 << n) : 0);

即首先清除该位,然后设置该位或将其保留为零,或作为函数:

function bitset(n, value) {
var mask = 1 << n; // NB: no range check
if (value) {
return n | mask;
} else {
return n & ~mask;
}
}

关于Javascript 按位重置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26917182/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com