Power function with fractional numbers

Hi everyone, I really need an advice on this topic. With solidity, we cannot directly calculate and store non-integer number i.e., 0.1 or 0.001. The solution to handle this is usually to use a decimal multiplier and divisor integer and we re-write: 0.1 = 1/10 as simple as that.
This works perfectly as long as we compute multiplications, divisions etc. However, it seems to me much less feasible if we want to do powers, for instance: 2^(1.54768) since 2^(154768) overflows.
So the question, is there a way to efficient calculate powers with fractional numbers?