![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Gtaman |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 10.4.2006 Репутация: нет Всего: нет |
Проблема собственно в следующем:
Скрипт должен посчитать некую величину, для этого сначала идет возведение числа 1137 в степень 5.5, получается огромное число, которое обозначается видом 2.46032951211E+016..... Из за этого дальнейшая обработка этого числа идет не правильно, и конечное число получаеться очень маленьким, хотя должно получиться больше. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 5 Всего: 454 |
Измените последовательность действий на такую, чтобы не терять точность, либо подключите (как вариант - напишите) библиотеку работы со сверхдлинными числами.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Gtaman |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 10.4.2006 Репутация: нет Всего: нет |
Последовательность действий изменять не целесообразно в моем случае. А что за библиотека? Если это единственный выход, то я хотел бы узнать где ее взять.
|
|||
|
||||
| ewolf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 15.8.2006 Где: г. Москва Репутация: 8 Всего: 18 |
||||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
||||
|
||||
| rMaveric |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 18.7.2003 Репутация: 3 Всего: 6 |
100% ошибка в коде.
выложи код. -------------------- |
|||
|
||||
| Gtaman |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 10.4.2006 Репутация: нет Всего: нет |
Вот код:
|
|||
|
||||
| -=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 32 Всего: 69 |
Gtaman, не уверен в точности и правильности чисел, но может тебе так надо:
-------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
| rMaveric |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 18.7.2003 Репутация: 3 Всего: 6 |
Gtaman, не вижу проблемы. У меня все выдает идеально Исключая возможную ситуацию деления на 0 при подсчете B. Где тут маленькое число? А использование библиотеки больших чисел только точность даст, не более. -------------------- |
||||
|
|||||
| Gtaman |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 10.4.2006 Репутация: нет Всего: нет |
-=Ustas=-, что значат эти функции и эта десятка после того как (55 / 10)?
|
|||
|
||||
| rMaveric |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 18.7.2003 Репутация: 3 Всего: 6 |
http://www.php.net/manual/ru/ref.bc.php
Библиотека работы с большими числами. Но она есть далеко не у всех провайдеров. -------------------- |
|||
|
||||
| Gtaman |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 10.4.2006 Репутация: нет Всего: нет |
rMaveric, я на денвере, php 4.3.1 тестирую..... но я непонимаю, почему у тебя получаеться, а у меня нет?
Добавлено @ 11:32 Кстати, rMaveric, по твоему примеру у меня получилось нормально, но это число надо не выводить, а оно потом еще юзаеться. |
|||
|
||||
| rMaveric |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 18.7.2003 Репутация: 3 Всего: 6 |
Так и пусть юзается в чем проблема??? или тебя смущает форма записи 2.6578888440437E+15 ???
-------------------- |
|||
|
||||
| Gtaman |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 10.4.2006 Репутация: нет Всего: нет |
rMaveric, нет меня не смущает нисколько. Просто некорректно оно юзаеться..... оно наверное принимаеться за 2 целых всего.... Во всяком случае результат получаеться как будто юзаеться не огромное число, а маленькое очень. Между тем, если это огромное число в нормальной форме записи, т.е. например оно равно 349150728114, то все работает корректно...
|
|||
|
||||
| rMaveric |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 18.7.2003 Репутация: 3 Всего: 6 |
Не понял. Скажем так. В том моменте который ты дал все нормально и все работает на 100%. Число показывается достаточно большое и в маленькое оно само по себе не превратится. Показуй куд где у тебя создается ошибочная ситуация, тоесть результат от операции явно не ожиданный. -------------------- |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |