Вопрос: Большие числа | Добавлено: 25.05.05 08:12 |
Автор вопроса: ![]() |
Кто знает как работать с большими числами? Допустим:
a=99999999999999999999999999 b=88888888888888888888888888 c=77777777777777777777777777 x=a*b*c Замучился если это возможно то как? Long-а нехватает. |
Ответы | Всего ответов: 20 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 192496851 Вопросов: 75 Ответов: 3178 |
Профиль | Цитата | #1 | Добавлено: 25.05.05 09:45 |
Попробуй Double, хотя врят ли поможет |
Номер ответа: 2 Автор ответа: ![]() ![]() Вопросов: 0 Ответов: 1066 |
Профиль | Цитата | #2 | Добавлено: 25.05.05 09:53 |
Double поможет, если сами числа или результат не превышают +/- 1.7 Е+308 |
Номер ответа: 3 Автор ответа: ![]() ![]() Вопросов: 38 Ответов: 125 |
Web-сайт: Профиль | Цитата | #3 | Добавлено: 25.05.05 10:08 |
А в Decimal не входят такие значения?
CDec(x) - преобразовать в Decimal |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 334781088 Вопросов: 108 Ответов: 2822 |
Профиль | Цитата | #4 | Добавлено: 25.05.05 10:29 |
В Decimal больше мантисса. Для очень больших чисел нужен Double или свой тип. Либо .NET, там числа внушительнее. |
Номер ответа: 5 Автор ответа: ![]() ![]() Вопросов: 0 Ответов: 1066 |
Профиль | Цитата | #5 | Добавлено: 25.05.05 11:34 |
Внушительнее - это как? Толще что ли ![]() Какое самое большое число в .NET помещается? Гугол? |
Номер ответа: 6 Автор ответа: ![]() ![]() Вопросов: 38 Ответов: 125 |
Web-сайт: Профиль | Цитата | #6 | Добавлено: 25.05.05 12:32 |
По-моему больше не только мантисса
Expression: Любое числовое значение или строка, представляющая целое число в диапазоне +/-79 228 162 514 264 337 593 543 950 335 или смешанное с не более чем 28 цифрами в дробной части в диапазоне +/-7.9228162514264337593543950335. Минимально возможное ненулевое число 0.0000000000000000000000000001 |
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 271202919 Вопросов: 56 Ответов: 837 |
Профиль | Цитата | #7 | Добавлено: 25.05.05 16:03 |
Где же морфеус он недавно сделал такую прогу чтобы умножала такие числа. Даже исходниками не жмотничал. |
Номер ответа: 8 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 224 Ответов: 3777 |
Web-сайт: Профиль | Цитата | #8 | Добавлено: 25.05.05 16:04 |
если ты позволишь запихать числа в String, то я знаю как перемножать числа длинной (!) до .... не знаю, у у меня любые перемножала, вот только проверить тяжеловато. |
Номер ответа: 9 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 46 Ответов: 848 |
Профиль | Цитата | #9 | Добавлено: 25.05.05 16:51 |
Умножение можно эмулировать поразрядно. Только это будет в тыщу раз медленнее. |
Номер ответа: 10 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 204447456 Вопросов: 180 Ответов: 4229 |
Web-сайт: Профиль | Цитата | #10 | Добавлено: 25.05.05 17:09 |
Умножение - это многократное сложение ![]() |
Номер ответа: 11 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Лидер форума ICQ: 216865379 Вопросов: 106 Ответов: 9979 |
Web-сайт: Профиль | Цитата | #11 | Добавлено: 25.05.05 22:37 |
Это называется длинная арифметика. Если эмулировать в десятичной системе и хранить в строках, то да, это будет в 1000 раз медленнее, а вот если в 256-ричной и хранить в байтовых массивах, то нормально. |
Номер ответа: 12 Автор ответа: ![]() ![]() Вопросов: 5 Ответов: 12 |
Профиль | Цитата | #12 | Добавлено: 26.05.05 08:44 |
Morpheus скажи пожалуйсто как, пусть в String-е, и если не сложно черкни плиз какая максимальная длина?! |
Номер ответа: 13 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 46 Ответов: 848 |
Профиль | Цитата | #13 | Добавлено: 26.05.05 08:46 |
Максимальная длина - сколько в оперативку влезет. |
Номер ответа: 14 Автор ответа: ![]() ![]() Вопросов: 5 Ответов: 12 |
Профиль | Цитата | #14 | Добавлено: 26.05.05 08:50 |
Sharp а можешь по подробней? Желательно в программном коде. |
Номер ответа: 15 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 204447456 Вопросов: 180 Ответов: 4229 |
Web-сайт: Профиль | Цитата | #15 | Добавлено: 26.05.05 11:17 |
Ну это типа 32-байтное слово. Можно ещё представить в виде 8 Long'ов или 16 Integer'ов. Вот только запрограммировать работу с таким числом будет морокой. |
|