Значение числа в 10-ой системе счисления как значение целочисленной переменной

Целое число, предствленое в двоичной системе счисления, модуль которого непревышает двоичного числа 1111111, вводиться в вещественную переменную. Необходимо вывести на экран значение этого числа в 10-й системе счисления как значение целочисленной переменной. Предусмотреть проверку правильности ввода информации

code: #delphi
procedure TForm1.Button1Click(Sender: TObject);
var
  i, j: Byte;
  r: Real;
begin
  // Проверяем правильность -----------------------------------------------------------
  if Length (Edit1.Text) > 7 then begin
    ShowMessage ('Слишком много ввели. Не более 7 символов');
    Exit;
  end;
  if Edit1.Text = '' then begin
    ShowMessage ('Введите хоть что-нибудь');
    Exit;
  end;
  i := 0;
  repeat
    Inc (i);
    if (Edit1.Text [i] <> '0') and (Edit1.Text [i] <> '1') then begin
      ShowMessage ('Вводить нужно "0" или "1"');
      Exit;
    end;
  until i = Length (Edit1.Text);
 
  // Преобразование -------------------------------------------------------------------
  r := 0;
  i := 0;
  repeat
    Inc (i);
    j := StrToInt (Edit1.Text [i]);
    r := r*2 + j;
  until i = Length (Edit1.Text);
  Edit2.Text := FloatToStr (r);
end;

автор: Sibedir

Поделиться:

Похожие статьи: