Re[6]: float
От: LaptevVV Россия  
Дата: 22.09.04 08:12
Оценка:
Здравствуйте, Слава Шевцов, Вы писали:

L>>Наскоьлко я поняла, изначальна проблема была в том, что число 2222.91 в float из строки переводится как 2222.9099999 а это как раз происходит из-за особенностей представления чисел в типах данных с плавающей точкой.

L>>если же сделать свой типа на базе целочисленного типа, таких траблов не будет, но работать будет естественно медленнее.

СШ>Лютьен, эта проблема так просто не решается. Если LaptevVV прав с тем, что корни уходят аж в двоичное представление 0.1, то эта проблема принципиально неразрешима иначе, чем округлением на одном из этапов.

Что значит "если прав"? Переведите 0.1 в двоичную систему
0|1
---
0|2
0|4
0|8
1|6
1|2
0|4
0|8
1|6
1|2
Итого, имеем в двоичной системе 0.0(0011)
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.