Zowel BigInteger als BigDecimal breiden java.lang.Number uit, maar dit betekent niet dat u van BigInteger naar Number kunt casten en vervolgens naar BigDecimal.
Er is een constructor in BigDecimal die een BigInteger nodig heeft, dus probeer:
BigDecimal d = new BigDecimal(b);