Уважаемые спецы, помогите пожалуйста разобраться с точностью расчетов в maxscript.
Почему бесконечно малые меньше 1e-8 уже отображаются как 0.0? при этом числа с положительной степенью легко доходят до 1.0e+38.
возможно ли, вообще, получать числа с большими отрицательными степенями?
И еще вопрос. Вот небольшой пример:
(
clearlistener()
local aaa = 1000000.0
for k = aaa/10.0 to aaa by aaa/10.0 do
(
local a = 0.0
for i = 1.0 to k do a = a + 1.0/k
format "%: % = 1.0 - %\n" (num*k) a (a==1.0)
)
)
суть в том, что должно, по идее, получаться 1.0 = 1.0, в итоге везде false, даже при aaa = 100. Что с цифрами? возможно ли повысить точность расчетов?
Почему бесконечно малые меньше 1e-8 уже отображаются как 0.0? при этом числа с положительной степенью легко доходят до 1.0e+38.
возможно ли, вообще, получать числа с большими отрицательными степенями?
И еще вопрос. Вот небольшой пример:
(
clearlistener()
local aaa = 1000000.0
for k = aaa/10.0 to aaa by aaa/10.0 do
(
local a = 0.0
for i = 1.0 to k do a = a + 1.0/k
format "%: % = 1.0 - %\n" (num*k) a (a==1.0)
)
)
суть в том, что должно, по идее, получаться 1.0 = 1.0, в итоге везде false, даже при aaa = 100. Что с цифрами? возможно ли повысить точность расчетов?