Hi I am programming in C, and when I do a pow function such as num = pow(28,7); If num is a float or a double, the correct answer is achieved, but if it is an int or a long, num is assigned an incorrect answer. Which gives me a problem because I then what to do num%33. Like I said if I do it, when num is an int, the answer is incorrect. and if I keep num as a double or float, I get the error: illegal use of floating point in function..... Is there anyway to overcome this? It is driving me mad!!