需要一个方法来返回int的特定位的值

时间:2011-05-17 18:46:26

标签: java

我想我需要一个像这样的实用方法:

public static short bitValue(int intNum, short pos)
{
    short bitValue = 0;

    //check pos bit (from right to left) in the intNum integer to see its value is 0 or 1
    //And then update the bitValue for return

    return bitValue;
}

我正在研究如何做到这一点。如果你们中的任何人手头有代码,请与我分享。感谢

2 个答案:

答案 0 :(得分:5)

做一个班次和面具:

return (short) ((intNum >> pos) & 1);

假设您希望返回值为1或0,当然。如果您想要位本身,仍然具有相同的值,则需要将返回类型更改为int并使用:

return intNum & (1 << intNum);

答案 1 :(得分:0)

如果您要处理多个字的值,请考虑使用BitSet。