http://www.cprogramming.com/tutorial/floating_point/understanding_floating_point.html
http://www.learncpp.com/cpp-tutorial/25-floating-point-numbers/