Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Чем работать с большими числами ? Добавлено: 26.04.05 19:43  

Автор вопроса:  avkiev | ICQ: 226072 
Подскажите, пожалуйста, какую библиотеку можно использовать для работы с большими числами ? Числа примерно порядка 2^500.
Нашел только Chip8086XT, но он поддерживает только арифметику, а мне нужно и корень брать, и в степень возводить...

Ответить

  Ответы Всего ответов: 8  

Номер ответа: 1
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #1
Добавлено: 26.04.05 20:00
Да, кстати, тоже интерестно, я щас занимался этим.

Наверное числа можно в string запихивать. да, арифметика и даже возведение в целочисленную степень легко организовывается алгоритмически. Как ни странно, нас во втором кажись классе учили :) главное догадаться. а вот остальное... тоже интерестно

Ответить

Номер ответа: 2
Автор ответа:
 avkiev



ICQ: 226072 

Вопросов: 48
Ответов: 107
 Профиль | | #2 Добавлено: 26.04.05 20:03
Понятно, что можно сделать самому, просто не хочется заново изобретать велосипед. Да и вопросы быстродействия становятся критическими, оптимизация нужна...

Ответить

Номер ответа: 3
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #3
Добавлено: 26.04.05 22:13
Корень брать предлагаю так же как и при вычислении в уме: сначала ищем ближайшее, которое знаем, а потом накидываем (или скидываем) "на глазок". 8))))

Ну типа пошутил...

Ответить

Номер ответа: 4
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #4
Добавлено: 26.04.05 22:15
ага... а корень Х будем искать, перебирая все числа У и если У*У=Х то это и есь его корень :) ну или там в степень 0.5 возвести :-))))))))

Ответить

Номер ответа: 5
Автор ответа:
 avkiev



ICQ: 226072 

Вопросов: 48
Ответов: 107
 Профиль | | #5 Добавлено: 27.04.05 00:47
Не ребята, не все так просто. Чтобы написать такую библиотеку и отладить - понадобится не одна неделя.
Неужели нет готового решения ?

Ответить

Номер ответа: 6
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #6
Добавлено: 27.04.05 01:18
не рамблере не искал? а на гугле?

Ответить

Номер ответа: 7
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #7
Добавлено: 27.04.05 02:12
Если числа целые и точность имеет значение, тогда "длинна арифметика". String это, конечно, извращение, а вот массив байт - нормальное.
Если числа просто большие и не обязательно целые и точность некритична, тогда экспоненциальный вид, т.е. мантисса и экспонента хранятся отдельно.
Если числа большие, точность важна и могут быть нецелыми, тогда длинная арифметика с числителем и знаменателем отдельно.
Существует алгоритм быстрого расчета корня, т.н. "вавилонский метод"

Ответить

Номер ответа: 8
Автор ответа:
 avkiev



ICQ: 226072 

Вопросов: 48
Ответов: 107
 Профиль | | #8 Добавлено: 27.04.05 10:25
Числа целые (натуральные), точность важна.
На первых порах подошел бы и Chip8086XT, но он работает только с десятичными числами, а мне нужно работать с хексом.
Т.е. "36F8A7DE451234567890ABCDEF2345" / "7856341289FBDA" = ?
Нашел три библиотеки: BigInt, GMP, Miracl. Но все они заточены под все что угодно, кроме VB.
Ясно, готового VB-решения не существует, придется работать с этими монстрами на C

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам