Есть алгоритм
Он считает корень из числа. Если например ему скормить 9, он вернет 3, скормить 100 он вернет 10, скормить 49 он вернет 7. В процессах тестирования, отправляя алгоритму число в виде x^2 и ожидая на выходе увидеть x, я столкнулся с такой вот формулировкой: 1,23456789123457е+015, такой результат я получил отправив в функцию следующее число: 1234567891234567^2. Результат возведения в степень оказался слишком длинным для того, чтобы программа его отобразила и в результате я увидел не искомое 1234567891234567 и сокращенное компьютером число.
В этой связи возникают два вопроса: Как отобразить такое число на мониторе, и как это число считает компьютер? Когда он его округляет и тд и тп.
Добавлено:
Я так понимаю то ограничение на которое наткнулся я это:
Number range (floating point): 1.7E–308 to 1.7E+308 with 15-digit precision
Кто мне сможет это корректно расшифровать?
Код:
Func SqrtAlg($n)
Local $x = $n, $y = Floor(($n+1)/2)
While 1
If $x <= $y Then
Return $x
Else
$x = $y
$y = Floor(($x^2+$n)/(2*$x))
EndIf
ConsoleWrite("Result x: "&$x&" y:"&$y&@cr)
WEnd
EndFunc
Он считает корень из числа. Если например ему скормить 9, он вернет 3, скормить 100 он вернет 10, скормить 49 он вернет 7. В процессах тестирования, отправляя алгоритму число в виде x^2 и ожидая на выходе увидеть x, я столкнулся с такой вот формулировкой: 1,23456789123457е+015, такой результат я получил отправив в функцию следующее число: 1234567891234567^2. Результат возведения в степень оказался слишком длинным для того, чтобы программа его отобразила и в результате я увидел не искомое 1234567891234567 и сокращенное компьютером число.
В этой связи возникают два вопроса: Как отобразить такое число на мониторе, и как это число считает компьютер? Когда он его округляет и тд и тп.
Добавлено:
Сообщение автоматически объединено:
Я так понимаю то ограничение на которое наткнулся я это:
Number range (floating point): 1.7E–308 to 1.7E+308 with 15-digit precision
Кто мне сможет это корректно расшифровать?