|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
01.06.2009, 16:04 | #1 |
Разленившийся я...
Пользователь
Регистрация: 02.09.2008
Сообщений: 81
|
Нужен тип чисел больший за long, что делать?
Делаю программу,связанную с факториалами, где для решения нужны числа более обширные за дипазон LongInt: - 2147483648 .. 2147483647. Что делать?
Да и калькулятор в Windows (инженерный) работает с более обширным диапазоном. |
01.06.2009, 16:27 | #2 |
Пользователь
Регистрация: 12.02.2009
Сообщений: 34
|
Нужна 64-битная переменная.
По идее: (Аналог longint, т.е. только целые числа) Код:
|
01.06.2009, 16:36 | #3 |
Меркантильный кю
Участник клуба
Регистрация: 02.02.2008
Сообщений: 1,001
|
Для факториалов int64 тоже хватит ненадолго, да и comp уже кажется на 24! даёт ошибку. Тут уже надо писать длинную арифметику
Росли вроде умными, выросли дурнями... (c)А.Васильев
|
01.06.2009, 16:46 | #4 | ||
Разленившийся я...
Пользователь
Регистрация: 02.09.2008
Сообщений: 81
|
Цитата:
Цитата:
Тоесть? |
||
01.06.2009, 18:49 | #5 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Арифметика длинных чисел, у меня имеется .
В общем два пути: 1. Быстрый - разложение числа в массив целых 2. Дает большее количество разрядов и проще в создании (ИМХО) - использование для хранения числа строки. Самый распространенный вариант была написан Vit с Vingrad. Гугл тебе поможет в его поиске. У меня имеется также самописный модуль - 4 операции и пару приблуд - типа определение числа разрядов, округление, отбрасывание дробной части ну и прочее в том же духе. Факториал для 100 при включенном ВинАмпе на Celeron 3000 и 512 Mb вычисляется минут за 20 примерно.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
01.06.2009, 19:46 | #6 | |
Форумчанин
Регистрация: 29.05.2009
Сообщений: 320
|
Цитата:
|
|
01.06.2009, 19:52 | #7 | |
Разленившийся я...
Пользователь
Регистрация: 02.09.2008
Сообщений: 81
|
Цитата:
Блин тольк дошло - по ходу как раз про тот форум Вы и говроили, и искать темы от Vit a? Интересно, для всех типов чисел, или только целых? |
|
01.06.2009, 20:09 | #8 |
Форумчанин
Регистрация: 29.05.2009
Сообщений: 320
|
Факториал обычно вычисляют только для целых. Конечно можно посчитать и для дробных, но это не имеет никакого применения (ну я не знаю), т.е. как мат. структура факториал возникает в областях, связанных с целыми числами. Длинная арифметика для дробных к тому же сложней, чем для целых.
|
01.06.2009, 20:19 | #9 | |
Разленившийся я...
Пользователь
Регистрация: 02.09.2008
Сообщений: 81
|
Цитата:
|
|
01.06.2009, 20:26 | #10 |
Форумчанин
Регистрация: 08.10.2008
Сообщений: 668
|
Для delphi Я использовал библиотеку hugeint когда шифрованием файлов занимался. Правда там всё на процедурах , эдакий аля Асм. Надо какнибудь на функции для удобства переделать будет.
Don't worry be happy
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
помогите отобразить тип LONG в DBMemo | funball | БД в Delphi | 13 | 17.04.2009 11:46 |
Перевод десятичных чисел в тип Double | Kuzya59 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 4 | 04.12.2008 15:41 |
Как прочитать 10 байтовый тип вещественных чисел | The REAL | Общие вопросы .NET | 3 | 05.09.2008 10:46 |