Java - 将boolean []转换为十进制

4 java boolean decimal

布尔数组可以被认为是二进制数,例如

boolean[] four = {true, false, false}; //100
Run Code Online (Sandbox Code Playgroud)

我想将这样的数组转换为十进制等效数,例如

int decimal = convertBooleanArrayToDecimal(four);
//decimal == 4
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做?

干杯,

皮特

Nik*_*bak 5

尝试这样的事情.

long result = 0;
for (boolean bit : four) {
    result = result * 2 + (bit ? 1 : 0);
}
Run Code Online (Sandbox Code Playgroud)