Sowohl BigInteger als auch BigDecimal erweitern java.lang.Number, aber das bedeutet nicht, dass Sie von BigInteger nach oben zu Number und dann nach unten zu BigDecimal umwandeln können.
Es gibt einen Konstruktor in BigDecimal, der eine BigInteger akzeptiert, also versuchen Sie es mit:
BigDecimal d = new BigDecimal(b);