public class Hex2Decimal {
public static int hex2decimal(String s) {
String digits = "0123456789ABCDEF";
s = s.toUpperCase();
int val = 0;
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
int d = digits.indexOf(c);
val = 16*val + d;
}
return val;
}
Я не понимаю, как в данном примере переводится число.
То-есть, не понимаю последнего шага... Из строки мы берем символ, потом вычисляем его индекс, соответственно изменяем буквы из 16-системы в числа, а потом... Как потом ? Все работает правильно, я проверял (компилировал), но если на бумажке сижу и считаю, вообще не выходит у меня, как программа приходит к верному решению... Может кто немножко пошагово разложить как верно работает посл. строка при вычислении val переменной.