Показать сообщение отдельно
Старый 13.01.2009, 12:00   #13
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Математика в Blitz3D

Вот специально решил выложить инфу из MSDN по типам переменных, это актуально и для встроенных типов Blitz3D:
float:
Примерные приделы значений: от ±1.5 * 10^-45 до ±3.4 * 10^38 (крайние приделы по сути не имеют дробной или целой части.)
Точность: 7 цифр (т.е. в числе без потери точности может быть не более 7 цифр в сумме из целой и дробной частей.)
Что из этого следует? В любом языке 32х битный float ограничен 7 цифрами в числе. Т.е. если мы хотим работать с точностью до 3его знака в дробной части, то целая часть недолжна превышать 4 знаков или числа 9999 (на самом деле число может быть чуть больше из-за несоответствий между десятичной и двоичной системами счисления). Если мы хотим работать с числами в целой части которых 7 знаков, то можно забыть о дробной чатси совсем. Её просто небудет.

А теперь о несуществующем в Blitz3D типе double, которых бы всех спас.
double
Примерные приделы значений: от ±5.0 * 10^-324 до ±1.7 * 10^308 (крайние приделы по сути не имеют дробной или целой части.)
Точность: 15-16 цифр (т.е. в числе без потери точности может быть не более 15 (иногда 16, когда первая цифра "1") цифр в сумме из целой и дробной частей.)
Как мы видим уже можно использовать числа имеющие длину до 15-16 символов в строковом представлении... т.е. всреднем до 8 цифр до и после запятой.

напомню типа double нет в BlitzD, но он есть в BlitzMAX, C#, C++
__________________

Последний раз редактировалось SBJoker, 13.01.2009 в 12:13.
(Offline)
 
Ответить с цитированием