Помощь - Поиск - Пользователи - Календарь
Полная версия: Длинная арифметика
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Anastacia Adesso
Ой.. Я зашла в ФАК.. Нашла процедуру которая отнимает одно число от другого.. А что там за sdvig и с чем его едят не понимаю..
А что это?

procedure SubLongTwo(a,b:Plong;const 
sdvig:integer);
var i,j:integer;
begin
  for i:=1 to b^[0] do
     begin
        dec(a^[i+sdvig],b^[i]);
        j:=i;
        while (a^[j+sdvig]<0) and (j<=a^[0]) do
           begin
              inc(a^[j+sdvig],_osn);
              dec(a^[j+sdvig+1]);
              inc(j);
           end;
     end;
  i:=a^[0];
  while (i>1) and (a^[i]=0) do dec(i);
  a^[0]:=i;
end;
{a>=b*(_osn^sdvig); a<-- a-b*(_osn^sdvig) }


М
Не забываем пользовться тегами

volvo
Anastacia Adesso, самую нижнюю строку внимательно читала (ту, которая закомментирована)?

{ a <-- a-b*(_osn^sdvig) }


Т.е., если тебе нужно, чтобы выполнилось A := A - B*1, то вызывай процедуру со значением sdvig = 0
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.