Using float uses less memory. It can also, with simple operations like addition and multiplication, be faster. In rough terms needing to manipulate a smaller variable takes less instructions, and can often run faster. There are exceptions to this statement (eg on some machines, the hardware natively supports double precision, and float (single precision) operations are emulated using double precision and then truncated. With problems where it matters (eg large-scale numerical codes that run for weeks or months rather than a few seconds) the difference is speed can amount to several days of run time. The advantages of speed and memory of float vs doubles are usually reduced by C (as many operations on floats, including passing it by value to a function, involve an implicit conversion to double). C++ has similar issues to C, although not to the same extent (in part because of function overloading, in part because of the type system). Bottom line is that you will never see major numerical codes written in C, you will see some in C++, but you will see most in a language designed for numerical work (eg Fortran).