|
ЧересЧеловек, тебе ведь дали наводку...
Невозможно _точно_ представить флоат/дабл в двоичном виде - всегда будет погрешность. например, выполнение такого кода совершенно не гарантируется:
if( 5.9999 + 0.0001 == 6.0 ) ***;
на эту тему обычно можно почитать в любой литературе по С рангом чуть выше, чем "С++ за 12 дней" - там же даются и советы, как обойти возможные глюки типа твоего.
у тебя же - классический случай, когда 0,7+0,1 != 0,8
иллюстрация примерно такая -
0,7 - 0000000000011111111111100
0,1 - 0000000000000000000000001
0,8 - 0000000000100000000000000
думаю, смысл понятен
__________________
Great minds discuss ideas. Average minds discuss events. Small minds discuss people.
|