Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Ада и другие языки _ Длинная арифметика

Автор: first_day 4.02.2008 17:11

Почитал я FAQ, но там написано на Паскале, а его я знаю плохо, понял только принцип. Возникли вопросы: как мне считать число и заполнить ячейки массива по 4 цифры? И как определить кол-во заполненных ячеек?

Автор: volvo 4.02.2008 17:33

Зачем опять велосипед и морока с переводом паскалевских исходников? Вот тут есть несколько реализаций длинной арифметики на С++: http://forum.sources.ru/index.php?showtopic=53002&hl=

Автор: first_day 4.02.2008 21:58

Там классы какие-то... нельзя ли как-то проще?

Автор: volvo 4.02.2008 22:12

Ты ж написал:

Цитата
Длинная арифметика, С++
, я тебе только поэтому и дал ссылку, сказал бы что надо на чистом С извращаться - я б вообще не смотрел тему больше. Ибо зачем? Написать процедуру сложения двух длинных целых и использовать ее в стиле Fortran-а? Вызывая вот так, к примеру
...
add_long(&a, &b, &sum);
...
? И это - в то время, как "космические корабли бороздят просторы Вселенной..." (С)? В смысле, когда можно работать со своим типом точно так же, как работают со встроенными, используя и операции сложения/вычитания/умножения/деления, и операции ввода/вывода, и вообще все, что хочется, НЕ МЕНЯЯ алгоритма и даже самой программы, изменив только название типа данных??? Ну, если тебе это надо - то переводи то, что есть в FAQ-е, оно там в самый раз для Plain С...

Автор: first_day 5.02.2008 0:08

Ну это как лететь на космическом корабле пассажиром. Вроде и летишь, но не управлешь... Мне нужно не просто использовать готовую функцию, а понять как она работает, научиться писать ее самому...

Автор: andriano 5.02.2008 1:23

Цитата(first_day @ 4.02.2008 20:08) *

Ну это как лететь на космическом корабле пассажиром. Вроде и летишь, но не управлешь... Мне нужно не просто использовать готовую функцию, а понять как она работает, научиться писать ее самому...

Ну и прекрасно!
Перевод исходника с одного языка на другой или смена парадигмы как аз и способствуют тому, чтобы разобраться, как работает, и научиться самому...
А вот когда появятся конкретные вопросы, можно и спросить.

А по большому счету, volvo прав: введение собственного типа данных и определение для него математических операций - наиболее прямой путь к наглядному и безглючному программированию.