public static BigInteger parseBigInteger(String sval) throws NumberFormatException {
		int beginIndex = 0;
		int rx = 10;
		boolean specialRadix = false;
		if (sval.length() > 2 && sval.charAt(0) == '0') {
			char radixIndicator = Character.toLowerCase(sval.charAt(1));
			switch(radixIndicator) {
				case 'b': rx = 2; specialRadix = true; break;
				case 'o': rx = 8; specialRadix = true; break;
				case 'x': rx = 16; specialRadix = true; break;
			}
			if (specialRadix)
				beginIndex = 2;
		}
		setRadix(rx);
		BigInteger bigInt = new BigInteger(sval.substring(beginIndex), rx);
		return bigInt;
	}