Цель этого метода - преобразовать предоставленную двоичную цифру (в виде строки) в десятичное число, но я не получаю результат, который требует вопрос, с кодом, который у меня есть, например, convertToDecimal("01101011") = 107
, и яя не уверен, я верю им преобразование двоичного числа в десятичное число правильно.например:
Тест
System.out.println(convertToDecimal("11001101")); = 205
Я пробовал цикл while и создавал целочисленные значения, но это просто не дает мне те же результаты
public static int binaryToDecimal(String binary) {
int decimal = 0;
int power = 0;
int currentIndex = binary.length() - 1;
while (currentIndex>=0) {
int currentDigit = binary.charAt(currentIndex) - '0';
decimal += currentDigit * Math.pow(2, power);
power++;
currentIndex--;
}
return decimal;
}
Я ожидал выводабыть:
convertToDecimal("01101011") = 107
convertToDecimal("00001011") = 11 ,
System.out.println(convertToDecimal("11001101")); = 205
но никто не был прав