
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
22.04.2007, 18:38:03
|
|||
|---|---|---|---|
Работа с числами больше long |
|||
|
#18+
Здравствуйте! Стоит задача обрабатывать числа очень больших размеров порядка 50 возведенное в степень 100, либо чуть меньше. Может подскажете, где можно почитать, либо как такое можно сделать? Заранее ОГРОМНОЕ СПАСИБО!!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.04.2007, 20:11:00
|
|||
|---|---|---|---|
|
|||
Работа с числами больше long |
|||
|
#18+
Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.04.2007, 20:35:52
|
|||
|---|---|---|---|
Работа с числами больше long |
|||
|
#18+
Я еще не в курсе как это можно применить. Если просто написать import java.math.BigInteger; то тот же long остался прежней длинны. Может подскажете как можно его правильно использовать? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.04.2007, 21:01:20
|
|||
|---|---|---|---|
|
|||
Работа с числами больше long |
|||
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.04.2007, 21:04:52
|
|||
|---|---|---|---|
|
|||
Работа с числами больше long |
|||
|
#18+
P.S. подробности о классе BigInteger ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.04.2007, 18:08:32
|
|||
|---|---|---|---|
Работа с числами больше long |
|||
|
#18+
Спасибо!! Действительно все просто оказалось. :) Но есть небольшая загвоздка: можно ли использовать в этом вырвжении BigInteger i = BigInteger.valueOf(А).pow(В); вместо А и В те же BigInteger? На сколько я понимаю, то нет. А приобразовать BigInteger в Int не выходит (не знаю как). Для чего это все надо: есть элемент A = (long)Math.pow(g,a)%p; где Math.pow(g,a) во много больше максимального числа типа long и при вычислении этого значения он поступает так - (максимальное число long)%р МОжет есть варианты решения такой проблеммы? Спасибо большое!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.04.2007, 22:22:52
|
|||
|---|---|---|---|
|
|||
Работа с числами больше long |
|||
|
#18+
light_retСпасибо!! Для чего это все надо: есть элемент A = (long)Math.pow(g,a)%p; где Math.pow(g,a) во много больше максимального числа типа long и при вычислении этого значения он поступает так - (максимальное число long)%р МОжет есть варианты решения такой проблеммы? Спасибо большое!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Непонятно, у вас g и a сами по себе, что ли, не укладываются в long? Если укладываются, то что мешает так сделать? Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.04.2007, 06:31:38
|
|||
|---|---|---|---|
Работа с числами больше long |
|||
|
#18+
light_retСпасибо!! Действительно все просто оказалось. :) Но есть небольшая загвоздка: можно ли использовать в этом вырвжении BigInteger i = BigInteger.valueOf(А).pow(В); вместо А и В те же BigInteger? есть BigInteger(String _);//"12343313543645663453453413212312131123" есть pow(int _) Не представляю зачем нужно число в степени больше чем 2147483647 Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.04.2007, 09:54:34
|
|||
|---|---|---|---|
|
|||
Работа с числами больше long |
|||
|
#18+
LINUXER[quot light_ret] Код: plaintext 1. 2. странная строка, особенно если вспомнить что есть метод BigInteger.intValue() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.04.2007, 22:40:21
|
|||
|---|---|---|---|
Работа с числами больше long |
|||
|
#18+
Здравствуйте! На самом деле все числа в результате получаются маленкими, но при вычислении такого выражения A = (long)Math.pow(g,a)%p; выходит такая закономерность: внчале вычисляется Math.pow(g,a), которое, к примеру будет равно 999999999999999999999999999999, а максимальное значение лонга 9223372036854775807, так вот - получается, что вместо A = 999999999999999999999999999999 % p; он вычисляет A = 9223372036854775807 % p; и в итоге результат не верный. Вот с этим и боримся :) Может кто-то может обьяснить, как это решить? Спасибо большое, что помогаете! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.04.2007, 18:51:29
|
|||
|---|---|---|---|
|
|||
Работа с числами больше long |
|||
|
#18+
Если вы используете BigInteger или BigDecimal, то забудьте про лонги и флоаты..В чем проблема собственно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&tablet=1&tid=2145920]: |
0ms |
get settings: |
18ms |
get forum list: |
22ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
47ms |
get topic data: |
18ms |
get forum data: |
5ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 282ms |
| total: | 472ms |

| 0 / 0 |
