Здравствуйте, telek1024, Вы писали:
T>А почему вы решили, что биты теряются на границе 0.5? И что значит "граница 0.5"?
Я плаваю в этой теме
T>Мне кажется, что для начала вам нужно почитать документацию о том, как хранятся вещественные числа в памяти. Начните отсюда: http://en.wikipedia.org/wiki/IEEE_754-1985
Я понимаю, что не все десятичные дроби можно представить в двоичной системе.
T>Или ещё можно написать std::setprecision(20) вместо std::setprecision(3)и посмотреть, что выведет программа.
Если установить точность — 4, то все правильно:
mid = 5.0325
good:
mid = 5.032500
bid = 5.132500
ask = 4.932500
bad:
mid = 5.032500
bid = 5.132500
ask = 4.932500
Как быть если нужна точность 3 знака после запятой?