gpt4 book ai didi

java - 设置字节中的特定位

转载 作者:行者123 更新时间:2023-12-02 00:33:10 25 4
gpt4 key购买 nike

我正在尝试设置 Java 字节变量中的位。它确实提供了适当的方法,例如 .setBit(i)。有人知道我如何实现这一点吗?

我可以按位迭代给定的字节:

if( (my_byte & (1 << i)) == 0 ){

}

但是我不能将此位置设置为 1 或 0,可以吗?

最佳答案

使用按位OR (|) 和AND (&) 运算符。要设置一个位,即将 pos 处的位设置为 1:

my_byte = my_byte | (1 << pos);   // longer version, or
my_byte |= 1 << pos; // shorthand

要取消设置一点,或将其设置为0:

my_byte = my_byte & ~(1 << pos);  // longer version, or
my_byte &= ~(1 << pos); // shorthand

有关示例,请参阅 Advanced Java/Bitwise Operators

关于java - 设置字节中的特定位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57997719/

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