Re: Сложение шестнадцатеричных чисел
Добавлено: 23 июн 2008, 08:50
[syntax=Delphi]
For I := Length(V) downto 1 do
Begin
If V>'9' then
A := Ord(V)-48-7
else
A := Ord(V)-48;
PosR := 100-Length(V)+I; { Выщитываем текущую позицию в массиве Res }
Res[PosR] := Res[PosR] + A; { Прибавляем значение к текущей позиции }
If Res[PosR]>15 then { ГДе то в этой части кода находится баг }
Begin
Res[PosR-1] := Res[PosR-1] + 1; { Увеличиваем на 1 старшую позицию }
Res[PosR] := Res[PosR] - 16; { А в этой оставляем только остаток }
End;
End;
For I:= 100-Length(V) downto 2 do
if Res>15 then
Begin
Res[I-1] := Res[I-1] + 1; { Увеличиваем на 1 старшую позицию }
Res := Res - 16; { А в этой оставляем только остаток }
End;
[/syntax]
For I := Length(V) downto 1 do
Begin
If V>'9' then
A := Ord(V)-48-7
else
A := Ord(V)-48;
PosR := 100-Length(V)+I; { Выщитываем текущую позицию в массиве Res }
Res[PosR] := Res[PosR] + A; { Прибавляем значение к текущей позиции }
If Res[PosR]>15 then { ГДе то в этой части кода находится баг }
Begin
Res[PosR-1] := Res[PosR-1] + 1; { Увеличиваем на 1 старшую позицию }
Res[PosR] := Res[PosR] - 16; { А в этой оставляем только остаток }
End;
End;
For I:= 100-Length(V) downto 2 do
if Res>15 then
Begin
Res[I-1] := Res[I-1] + 1; { Увеличиваем на 1 старшую позицию }
Res := Res - 16; { А в этой оставляем только остаток }
End;
[/syntax]