Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   10-ти байтные числа с плавающей точкой (https://javascript.ru/forum/misc/1163-10-ti-bajjtnye-chisla-s-plavayushhejj-tochkojj.html)

serzh44 18.04.2008 02:02

10-ти байтные числа с плавающей точкой
 
Очень нужна помощь! подскажите, как это можно реализовать на JavaScript? Знаю, что стандартных методов нет, но может есть какие-то сторонние скрипты?

P.S. Использование ActiveX, Java или выполнения на сервере я не рассматриваю, мне нужно, чтобы это работало только на JavaScript!

Нашёл вот это http://stz-ida.de/html/oss/js_bigdecimal.html.en
Вроде то что нужно, но никак не могу понять, как извлечь квадратный корень, скорее всего методом pow, но даже то, что написано в примерах не работает! Помогите пожалуйста!!!!очень нужно!!!или может есть что-то другое?

Мне нужно выполнять арифметические действия над очень большими и очень маленькими числами (1e-500...1e+500 примерно), точнее найти корни квадратного уравнения.

tenshi 18.04.2008 02:04

почему именно на яваскрипте?

serzh44 18.04.2008 02:06

я так хочу, точнее я хочу, чтобы это красиво выглядело и задание было оформлено в виде web страницы.

tenshi 18.04.2008 02:15

какое задание?

serzh44 18.04.2008 02:23

простое!найти корни квадратного уравнения....точнее это одно из заданий (вычислительная математика). А идея такая, что каждое выполненное задание лежит в своём html файле....есть файл конфигурации, где они перечисляются....А потом ссылки на них появляются на главной странице, ну и при нажатии на ссылку во фрейм грузится нужный документ....

tenshi 18.04.2008 02:27

и при чём тут тогда десятибайтовые числа?

serzh44 18.04.2008 02:36

tenshi
При том, что для решения квадратного уравнения они нужны. Так как в задании сказано, что корни должны высчитываться, при коэффициентах в диапозоне примерно 1e-500....1e+500. Такой диапозон (даже больше) поддерживают 10-ти байтные числа (а в js максимум 8 байт) в других языках программирования, например в c++ long double, вот по этому по аналогии с другими языками программирования я и говорю о 10-ти байтных чмслах.....хотя мне не важно сколько байт, главное чтобы поддерживали нужный диапозон!

tenshi 18.04.2008 11:55

боюсь десяти байт тут совсем не хватит. нужно 20 минимум.

serzh44 18.04.2008 13:58

это для c++
Тип данных____Байты______Min________Max
float__________4_________3.4E-38_____3.4E+38
double________8_________1.7E-308____1.7E+308
long double___10_______3.4E-4932__3.4E+4932

10 байт хватит вполне
а в js тип чисел с плавающей точкой аналогичен типу double в c++, т.е. 8-ми байтовый

tenshi 18.04.2008 21:02

10 байт хватит только для представления числа. для вычислений не хватит точности. вычисли 1e+100 - 1e-100


Часовой пояс GMT +3, время: 16:09.