Работа с большими числами

Тема в разделе "WASM.ASSEMBLER", создана пользователем DPAKOH, 28 янв 2006.

  1. DPAKOH

    DPAKOH New Member

    Публикаций:
    0
    Регистрация:
    28 янв 2006
    Сообщения:
    5
    Адрес:
    Russia
    Никак не могу найти в инете модулей для работы с большими числами (как целыми так и с плавающей запятой). Все только на С++... Я так подумал, на асме по-любому будет оптимальнее... Т. е. лучший вариант - это С++, смешанный с асмом. Может кто видел такие модули? Только на асме меня тоже устроит =)
     
  2. netw0rm

    netw0rm New Member

    Публикаций:
    0
    Регистрация:
    6 ноя 2005
    Сообщения:
    78
    Арифметический сопроцессор. И модулей никаких не надо.
     
  3. DPAKOH

    DPAKOH New Member

    Публикаций:
    0
    Регистрация:
    28 янв 2006
    Сообщения:
    5
    Адрес:
    Russia
    Я имел в виду работу с неограниченно большими числами или с неограниченной точностью (в пределах доступной памяти)...
     
  4. Avoidik

    Avoidik New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2004
    Сообщения:
    288
    Адрес:
    Russia
    DPAKOH, польский bigshit юзай (с исходниками, чистый масм)
     
  5. DPAKOH

    DPAKOH New Member

    Публикаций:
    0
    Регистрация:
    28 янв 2006
    Сообщения:
    5
    Адрес:
    Russia
    И где яво найти? =)
     
  6. NullSessi0n

    NullSessi0n New Member

    Публикаций:
    0
    Регистрация:
    20 янв 2006
    Сообщения:
    322
    Где-то был cbignum... А почему на асме не хочешь? Я бы и сам бы не против был.
     
  7. halyavin

    halyavin New Member

    Публикаций:
    0
    Регистрация:
    13 май 2005
    Сообщения:
    252
    Адрес:
    Russia
    У меня есть модуль для pascal, в котором многие процедуры написаны на асме: http://shade.msu.ru/~msu-se/llong.7z (14Kb)



    Для меня главная проблема в модуле длинной арифметики - где хранить промежуточные результаты. В куче может быть медленно, в стеке программы геморно, в своей стековой структуре (которую я использовал) - нужно разбираться с многопоточностью и кое-какими неожиданными проблемами при умножении по методу Карацубы.
     
  8. ECk

    ECk Member

    Публикаций:
    0
    Регистрация:
    9 апр 2004
    Сообщения:
    454
    Адрес:
    Russia
    GMP (GNU Multiprecision Library) 4.xx можно заюзать - там неограниченная точность, плюс оптимизированый для всех платформ код (включая 64 битные процы) - на Сях, оптимизация примитивов - на асме под все платформы, куча алгоритмов на выбор (в частности для умножения - и FFT и Карацуба и прочее). И бесплатная к тому же.

    http://www.swox.com/gmp/
     
  9. DPAKOH

    DPAKOH New Member

    Публикаций:
    0
    Регистрация:
    28 янв 2006
    Сообщения:
    5
    Адрес:
    Russia
    Посмотрел я GMP... Много кода =)

    А используется всего 3 алгоритма умножения:

    The current multiplication code uses Karatsuba, 3-way Toom, and Fermat FFT
     
  10. eugene_

    eugene_ New Member

    Публикаций:
    0
    Регистрация:
    15 дек 2005
    Сообщения:
    93
    Адрес:
    Russia
    MIRACL посмотри
     
  11. NullSessi0n

    NullSessi0n New Member

    Публикаций:
    0
    Регистрация:
    20 янв 2006
    Сообщения:
    322
    Вопрос: а в каком формате хочешь большие числа хранить?