我有一個二進制數,我想只有七位的十進制值,不包括第8位。我如何在java中解決這個問題。變化最顯著位,並得到前七位的十進制值僅
例如。 130作爲二進制=> 10000010,我只需要00000010 => 2,即,僅更改爲0。
最顯著位請幫助。
我有一個二進制數,我想只有七位的十進制值,不包括第8位。我如何在java中解決這個問題。變化最顯著位,並得到前七位的十進制值僅
例如。 130作爲二進制=> 10000010,我只需要00000010 => 2,即,僅更改爲0。
最顯著位請幫助。
byte b =10;
byte result = (byte) (b & 127);
下封這將是
00001010 //10 in dec
AND 01111111 // our mask ,127 in dec
= 00001010 //10
另一個例子
10000001 //129 in dec
AND 01111111 // our mask ,127 in dec
= 00000001 //1
private static boolean getBit(int b, int p) {
int mask = 1 << 8 - p;
return (b & mask) > 0;
}
private static int setBit(int b, int p) {
int mask = 1 << 8 - p;
return b | mask;
}
private static int unsetBit(int b, int p) {
int mask = 1 << 8 - p;
return b & ~mask;
}
而與128 – dbasnett 2011-04-12 11:28:28