Показать сообщение отдельно
  #2  
Старый 15.03.2010, 03:25
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,105
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

1. Поподробнее пожалуйста. С примером на пальцах что надо сделать.
2. Формулы в студию.
3. Тут попроще. Идем от конца строки и складываем цифирь в степени ее нрмера. Подсказка - удобнее инвертировать строку и потом идти прямым порядком.

Код:
uses Math;

function IvertStr(S : String) : String;
var
  I : Integer;
begin
  Result := '';
  For I := 1 To Length(S) Do Result := S[i] + Result;
end;

function BinToDec(S : String) : Integer;
var
  I : Integer;
begin
  Result := 0;
  S := InvertStr(S);
  For I := 1 To Length(S) Do
    Result := StrToInt(S[i]) * Power(2,I-1);
end;

function HextToDec(S : String) : String;
var
  I : Integer;
  N : Integer;
begin
  Result := 0;
  S := InvertStr(S);
  For I := 1 To Length(S) Do
    Begin
      If S[i] In [0..9] 
        Then N := StrToInt(S[i]) 
        Else N := Ord(Upper(S[i]))-65+10;
      Result := Result + N * power(16,I-1);
    End;
end;
Ответить с цитированием