добрый день!
подскажите как быть...
простой цикл
i:INTEGER; r:REAL;
## Код:
```
i:=-200;
WHILE i <= 200 DO
r:=i / 10;
Log.Real(r);Log.Ln;
INC(i);
END;
```


в выводе некоторые числа становятся неточными: вместо 8.2 будет 8.199999999999

в эйфеле, если переменная REAL_32, то результаты на этом отрезке точные, если REAL_64, то точные только 8.0 8.5 9.0

в c# для double выписывает весь диапазон нормально

с чем это связано? что можно почитать по этой теме? и какие способы(рецепты), как в ББ обойти такие случаи (числа 2-3 знака после запятой, операций не много (2-3), так, что будут получаться максимум до 9 знака после запятой, т.е. могут быть вычислены точно)? создавать свои типы и операции к ним (как пару целых (одно перед запятой, другую после))? или есть очевидные способы проще, просто их не вижу?