2011-05-17 37 views
2

我想我需要一个实用的方法是这样的特定位的值:需要一个方法返回一个int

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; 
} 

我做的研究,以了解如何现在就这样做。如果你们中的任何人有手码,请与我分享。感谢

回答

5

只是做一个转变和掩码:

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

这是假设你想当然的1或0返回值。如果你想一点本身,还是使用相同的值,你需要将自己的返回类型更改为int及用途:

return intNum & (1 << intNum); 
+0

我只想知道由pos参数指定的那个位的值。谢谢。我现在需要回顾一下这些转换操作符。 – 5YrsLaterDBA 2011-05-17 18:54:53

0

如果你有一个多字的价值位的处理,可以考虑使用位集合。

相关问题