Показать сообщение отдельно
  #4  
Старый 21.06.2011, 02:24
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Нечаянно соврал, это не из исходников Дельфи - из компонента NConvertor. Вот варианты в обе стороны:
Код:
function BinToDecStr(bin: string): longint;
var
  i : integer;
begin
  Result := 0;
  for i := 1 to length(bin) do 
  begin
    if not (bin[i] in ['0','1']) then 
    begin
      Result := 0;
      Exit;
   end;
   if bin[i] = '1' then
     Result := Result + (1 shl (length(bin) - i));
  end;
end;


function DecToBinStr(Value: Integer): string;
begin
  Result := '';
  while Value > 0 do 
  begin
    if Odd(Value) then
      Result := '1' + Result
   else
      Result := '0' + Result;
    Value := Value shr 1;
  end;
  if Result = '' then
    Result := '0';
end;
Ответить с цитированием