有没有一种快速的方法来获取Java中的最后一位整数。可以是位置5的位或只有第5位的整数。
65 -> 64
11 -> 8
13 -> 8
没有负数
这是一个措辞问题,它不是最后一点,而是最高位。
答案 0 :(得分:5)
潜入javadoc,总值得:Integer.highestOneBit。
assert 64 == Integer.highestOneBit(65);
assert 2 == Integer.bitCount(65);
assert 6 == 31 - Integer.numberOfLeadingZeros(65);
还有numberOfTrailingZeros
等等。
答案 1 :(得分:1)
您可以使用Integer.toBinaryString()
方法,它将为您提供整数参数的字符串表示形式,作为基数为2的无符号整数。
String binary = Integer.toBinaryString(value);
char lastBit = binary.charAt(0);