将8位二进制的最高有效位更改为0并仅获取前七位的十进制值

Pra*_*nay 0 java

我有一个二进制数,我想得到只有七位的十进制值,而不是包括第8位.我如何在java中解决这个问题.

例如.130为二进制=> 10000010,我只需要00000010 => 2,即仅将最高有效位更改为0.

请帮忙.

Jig*_*shi 5

  byte b =10;
  byte result  = (byte) (b & 127);
Run Code Online (Sandbox Code Playgroud)

在封面下它会

    00001010 //10 in dec   
AND 01111111 // our mask ,127 in dec
  = 00001010 //10
Run Code Online (Sandbox Code Playgroud)

另一个例子

    10000001 //129 in dec   
AND 01111111 // our mask ,127 in dec
  = 00000001 //1
Run Code Online (Sandbox Code Playgroud)