更改java中的最低有效位(LSB)

时间:2014-02-01 13:52:57

标签: java

我正在尝试更改数值的LSB,例如50,其中LSB为0,因为50%2为0(余数运算符)为1,因此在这种情况下将LSB从0更改为1。 代码如下:

//Get the LSB from 50 using the modulas operator
lsb = 50 % 2;

//if the character equals 1
//and the least significant bit is 0, add 1
if(binaryValue == '1' && lsb ==0)
{
     //This clearly does not work.
     //How do I assign the altered LSB (1) to the value of 50?
     50 = lsb + 1;
}

我在if语句中遇到问题,我想绑定更改的LSB,在这种情况下是1到50的值。这不是完整代码,因此所有值都不同。 感谢

2 个答案:

答案 0 :(得分:3)

xor operation ^可用于翻转单个位的值。例如

int value = 4;
value = value ^ 1;
System.out.println(value);

输出5,因为最低有效位变为1。

答案 1 :(得分:3)

java中的XOR:

System.out.println(50 ^ 1);