SQL Real vs Float

Digamos que tengo las siguientes 2 consultas:

select sum(cast(2666 as float)) * cast(.3 as float)
select sum(cast(2666 as real)) * cast(.3 as real)

La primera consulta devuelve:799.8
La segunda consulta devuelve:799.800031781197

¿Por qué la segunda consulta no devuelve lo mismo que la primera?

Respuestas a la pregunta(1)

Su respuesta a la pregunta