捕获“丢弃”位值

时间:2014-04-23 15:16:32

标签: java bit-manipulation

我在寻找什么?

让我们考虑int a = 5例如

它的二进制文件是:101

所以当我们做的时候

a >> 1

然后最右边的位,即在这种情况下为1,将掉落,我想在某个变量中捕获它......,

1st iteration k = 1 
2nd iteration k = 0 
3rd iteration k = 1

在这种情况下,我有一个硬编码值,但它可以是数字的任意用户输入。

如果我b = a >> 1,那么b= a/2就这么无能为力!

为什么我会问这个问题?

例如,将程序转换为十进制转换为二进制,在这种情况下,如果我能够捕获下降位,那么程序将在最多3-4行完成... < / p>

当然还有其他逻辑,我需要知道它是否可能!

1 个答案:

答案 0 :(得分:7)

在移位之前将最低位存储在变量中,例如,

int a = 5;
int lowestBit = a & 1;
a >>= 1;