Както BigInteger, така и BigDecimal разширяват java.lang.Number, но това не означава, че можете да прехвърляте от BigInteger до Number и след това надолу до BigDecimal.
В BigDecimal има конструктор, който приема BigInteger, така че опитайте:
BigDecimal d = new BigDecimal(b);