ドキュメントにあるように:16は、文字列が「 16進数」とも呼ばれる基数16として解釈されることを意味します。
例:
BigInteger b = new BigInteger("12",16) // b == 0x12 == 18 in decimal
BigInteger b = new BigInteger("0A",16) // b == 0x0A == 10 in decimal
BigInteger b = new BigInteger("10",16) // b == 0x10 == 16 in decimal