visual c++ неправельно умножает
От: Аноним  
Дата: 27.08.04 07:33
Оценка:
пишу

double d_v=133.20;
double d_y=10;
long l_v=(long)(d_v*100);

printf("%ld",l_v);

— получается 13319
в отладке смотрю l_v=13319.9999999998 сразу после умножения

double d_v=133.20;
double d_y=10;
long l_v=(long)(d_v*100);

в отладке отрабатывает и l_v = 13320 — как и должно быть
в релизе отрабатывает и l_v = 13319 — как не должно быть


подобных глюков нет если 250.20 умножать на 100

может я отстал от матиматики — или это теория вероятности — как бухгалтерам объяснить Т.О.

а все же раскажите эту особенность — а то вот пишу думаю — что так все стабилно — а тут какая-то матиматика не такая , кук умножать теперь double
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.