Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> сложение и возведение в степень больших чисел 
:(
    Опции темы
motorway
  Дата 8.8.2009, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 578
Регистрация: 2.3.2008

Репутация: 1
Всего: 0



К сожалению, функции bcadd и bcpow для сложения и возведения в степень больших чисел дают ошибку, если у них аргументы - сами большие числа. Кто знает, как с этим справляться, чтобы можно было передавать любой аргумент им?
PM MAIL   Вверх
mogul82
Дата 8.8.2009, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 282
Регистрация: 20.11.2008

Репутация: -1
Всего: -5



А нефига на пенек 133й -> 500 значные числа вводить.
PM MAIL   Вверх
motorway
Дата 8.8.2009, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 578
Регистрация: 2.3.2008

Репутация: 1
Всего: 0



у меня не 133-й, к тому же должна быть возможность для этих функций любые числа перемалывать
PM MAIL   Вверх
skyboy
Дата 8.8.2009, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(motorway @  8.8.2009,  19:36 Найти цитируемый пост)
сами большие числа

насколько большие?
как-то странно, что ошибка рассчетов. на bugs.php.net не искал - может, проблема в конкретной версии?
PM MAIL   Вверх
motorway
Дата 8.8.2009, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 578
Регистрация: 2.3.2008

Репутация: 1
Всего: 0



Попробуйте $u=bcadd(3247987423984739827492949237492,1);
echo $u;

У меня выводит 1

Добавлено через 3 минуты и 27 секунд
Цитата

А нефига на пенек 133й -> 500 значные числа вводить. 

А если нужно решать проблемы из криптографии или теории чисел - получается, все? Должна быть универсальная функция, для компьютера это же просто символы. 
PM MAIL   Вверх
enof
Дата 8.8.2009, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 837
Регистрация: 23.1.2009
Где: Санкт-Петербург

Репутация: 30
Всего: 35



PM MAIL ICQ Skype   Вверх
motorway
Дата 8.8.2009, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 578
Регистрация: 2.3.2008

Репутация: 1
Всего: 0



Ненавижу всякие расширения, так как обычно там проблемы с установкой. Вот и сейчас скачал, и пока что не очень понятно, что с ней делать
PM MAIL   Вверх
skyboy
Дата 8.8.2009, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(motorway @  8.8.2009,  19:45 Найти цитируемый пост)
Попробуйте $u=bcadd(3247987423984739827492949237492,1);
echo $u;

может, все же
Код

$u=bcadd('3247987423984739827492949237492',1);
echo $u;[/quote]
?
при чтении документации сильно необходимо обращать внимание в том числе и на ожидаемый тип аргументов  smile

Добавлено через 1 минуту и 26 секунд
ууу, непослушная подсветка! в моем коде должны были только кавычки быть выделены smile
PM MAIL   Вверх
motorway
Дата 8.8.2009, 22:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 578
Регистрация: 2.3.2008

Репутация: 1
Всего: 0



Да, это работает, только ведь обычно числа у меня будут переменные, как это делать с кавычками? Что-то типа bcadd($x1, $x2)
PM MAIL   Вверх
motorway
Дата 8.8.2009, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 578
Регистрация: 2.3.2008

Репутация: 1
Всего: 0



И вот еще странность: сравниваю две строки, и выводит, как будто они одинаковые:

$a=(string) '561828532785955799498476725072387365447786435416550243093690903228277904351690788360966815230870421749435554450267938745567991381644485090154939293572003434800571016262547150942569023438451279236802458907322519384397003399742862001';
$b=(string) '561828532785955799498476725072387365447786435416550243093690903228277904351690788360966815230870421749435554450267938745567991381644485090154939293572003434800571016262547150942569023438451279236802458907322519384397003399742864021';

if ($a==$b) echo "A";

Хотя видно, что конец разный
PM MAIL   Вверх
bars80080
Дата 9.8.2009, 00:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



а if ($a===$b) echo "A";

?
PM MAIL WWW   Вверх
skyboy
Дата 9.8.2009, 01:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(motorway @  8.8.2009,  21:37 Найти цитируемый пост)
только ведь обычно числа у меня будут переменные

надеюсь, это шутка, которую я не понял.
переменные не приводи к типу int.
кавычки - это не часть строки. это так задаются строковые константы, в отличие от целочисленных. которые ты приводил в своем примере. и которые не могут храниться как целочисленные вследствие большого размера.
Цитата(motorway @  8.8.2009,  22:11 Найти цитируемый пост)
$a=(string) '56....

если не секрет: зачем строковую константу приводить к типу "строка"?
PM MAIL   Вверх
motorway
Дата 9.8.2009, 01:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 578
Регистрация: 2.3.2008

Репутация: 1
Всего: 0



это у меня что-то глючило, я подумал, может, она не привелась к нужному типу
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0873 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.