in src/main/java/org/apache/commons/lang3/Conversion.java [213:239]
public static char binaryToHexDigit(final boolean[] src, final int srcPos) {
if (src.length == 0) {
throw new IllegalArgumentException("Cannot convert an empty array.");
}
if (src.length > srcPos + 3 && src[srcPos + 3]) {
if (src[srcPos + 2]) {
if (src[srcPos + 1]) {
return src[srcPos] ? 'f' : 'e';
}
return src[srcPos] ? 'd' : 'c';
}
if (src[srcPos + 1]) {
return src[srcPos] ? 'b' : 'a';
}
return src[srcPos] ? '9' : '8';
}
if (src.length > srcPos + 2 && src[srcPos + 2]) {
if (src[srcPos + 1]) {
return src[srcPos] ? '7' : '6';
}
return src[srcPos] ? '5' : '4';
}
if (src.length > srcPos + 1 && src[srcPos + 1]) {
return src[srcPos] ? '3' : '2';
}
return src[srcPos] ? '1' : '0';
}