![]() |
Сложение вещественных чисел произвольной длины.
В общем мне оказалось нужно сделать это. Вещественные числа такого типа: [-]целое[.дробь]
Решил засунуть всё это в строку и для сложение только что написал следующую функцию. Но она слишком монструозная. Помойму я намудрил много. В общем вот: PHP код:
PHP код:
|
Ответ: Сложение вещественных чисел произвольной длины.
Код вроде как хороший, тока разобраться без комментов трудновато (между '//само действие' и '//---------')
UPD: вроде разобрался. |
Ответ: Сложение вещественных чисел произвольной длины.
Простите за отсутствие комментов. Вчера я был уже пуст и заново понять то что написал не получалось ))
Хотелось бы услышаь предложения по сжатию этого кода, если это вообще возможно... |
Ответ: Сложение вещественных чисел произвольной длины.
Пожалуй, при использовании "чистого" МП максимальной скорости выполнения достигнуть не возможно, просто потому что код не транслируется нужным способом, и не работает на максимальной скорости.
Если вам функция до сих пор нужна, я написал аналогичную (точнее, несколько их) на "чистой" яве и сделал библиотеку - http://forum.boolean.name/showthread...ewpost&t=14515 По ЛС могу сбросить исходный код - функции занимают 26, 34, и 42 строк для сложения, вычитания, и умножения соответственно. |
Ответ: Сложение вещественных чисел произвольной длины.
|
Ответ: Сложение вещественных чисел произвольной длины.
|
Ответ: Сложение вещественных чисел произвольной длины.
Маленький совет по оптимизации. Можно в каждый символ писать не одну цифру, а две. (ord и chr в помощь)
Количество операций должно уменьшится почти в два раза. |
Ответ: Сложение вещественных чисел произвольной длины.
вот пример, но только для сложения положительных чисел:
Код:
var |
Ответ: Сложение вещественных чисел произвольной длины.
Спасибо всем.
2YellowAfterlife Я уже написал две функции(сложение и вычитание вместе и умножение) универсальные, для всех типов чисел сразу, на МП. Внедрять в проект твою либу, пока слишком муторно выйдет. Но всё равно спасибо. Сейчас ломаю голову над делением... Цитата:
И вопрос тебе: Цитата:
2Igor Не катит, я повсеместно использую pos... 2abcdef Спасибо, у себя много недочётов нашел. Цитата:
|
Ответ: Сложение вещественных чисел произвольной длины.
Цитата:
Про библиотеку - я ее сделал, поскольку "обычные" методы java работают в разы быстрее даже самых правильных функций в МП (см. те же непонятные преобразования ((booleancondition ? 1 : 0) != 0) почти на каждом if'е, сделанным МП). Функция realaddreal из библиотеки работает где-то так же как и ваша (принимает значения независимо от точки и знака, и делает все возможное для избежания ошибок). Остальные функции добавлены, поскольку при известном типе числа они обеспечивают даже большую производительность программы. |
Ответ: Сложение вещественных чисел произвольной длины.
Проект куда я всё это запихнул ^_^.
|
Часовой пояс GMT +4, время: 15:57. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot