查找 BigInteger(msb) 的最高有效位的 N 位
Find N bits of most significant bit of a BigInteger(msb)
我想找到 BigInteger 的 n 位最高有效位并且 return 它是字节类型。
这是我的家庭作业,我知道很少有人考虑它。
请帮助我解决it.its 对我来说非常必要。
这是必须实现的方法:
/**
* *
* Gets N numbers of bits from the MOST SIGNIFICANT BIT (inclusive).
*
* @param value Source from bits will be extracted
* @param n The number of bits taken
* @return The n most significant bits from value
*/
private byte msb(BigInteger value, int n) {
return 0x000;
}
你可以试试bitLength()
在java.math.BigInteger
里面returns的位数。您可以使用此方法检索 n
最高有效位,如:
int n = 3;
BigInteger r = BigInteger.valueOf(23);
BigInteger f = r.shiftRight(r.bitLength() - n);
Byte result = Byte.valueOf(f.toString());
System.out.println(result);
这会按预期打印 5
。
我想找到 BigInteger 的 n 位最高有效位并且 return 它是字节类型。 这是我的家庭作业,我知道很少有人考虑它。 请帮助我解决it.its 对我来说非常必要。 这是必须实现的方法:
/**
* *
* Gets N numbers of bits from the MOST SIGNIFICANT BIT (inclusive).
*
* @param value Source from bits will be extracted
* @param n The number of bits taken
* @return The n most significant bits from value
*/
private byte msb(BigInteger value, int n) {
return 0x000;
}
你可以试试bitLength()
在java.math.BigInteger
里面returns的位数。您可以使用此方法检索 n
最高有效位,如:
int n = 3;
BigInteger r = BigInteger.valueOf(23);
BigInteger f = r.shiftRight(r.bitLength() - n);
Byte result = Byte.valueOf(f.toString());
System.out.println(result);
这会按预期打印 5
。