java16进制转10进制


public class HexToDec {
    public static void main(String[] args) {
        String hex = "9FBF1";
        ArrayStack stack = new ArrayStack<>();
        for (int i = 0; i < hex.length(); i++) {
            stack.push(hex.charAt(i));
        }
        int sum = 0;
        int mi = 0;
        while (!stack.isEmpty()) {
            //9 F B F 1
            char c = stack.pop();   // '1'
            sum += getNumber(c) * Math.pow(16,mi);
            mi++;
        }
        System.out.println(sum);
    }

    private static int getNumber(char c) {
        if (!(c >= '0' && c <= '9' || c >= 'A' && c <= 'F')) {
            throw new IllegalArgumentException("wrong char!");
        }
        if (c >= '0' && c <= '9') {
            return c - '0';
        } else {
            return c - 'A' + 10;
        }
    }
}

你可能感兴趣的:(笔记,java)