Подскажите как в коде работает вот эта строчка:
// я как бы по своему это понимаю но не уверен что конкретно возвращает данная строка
binaryNumber.length() - 1 - i
// например если число 101 - то строка возвращает 10 или 01 при первой итерации когда i равна 0
И еще 1 вопрос, для чего эта строка нужна, почему просто binaryNumber.length() - 1 - i не подходит.
Character.getNumericValue
// code
public static int toDecimal(String binaryNumber) {

    if (binaryNumber == null) {
        return 0;
    }
    if (binaryNumber.equals("")) {
        return 0;
    }

    int decimalNumber = 0;
    for (int i = 0; i < binaryNumber.length(); i++) {
        decimalNumber = decimalNumber
                + Character.getNumericValue(binaryNumber.charAt(binaryNumber.length() - 1 - i))
                * (int) (Math.pow(2, i));
    }

    return decimalNumber;
}