Перевести число из 2-ой системы счисления в 10-ую. Обеспечить правильность ввода

Перевести число из 2-ой системы счисления в 10-ую. Обеспечить правильность ввода числа в систему cчисления . Нельзя использовать стандартные возможности по выводу/вводу чисел.Паскаль

Задать свой вопрос
1 ответ
// PascalABC.NET 3.3, сборка 1579 от 18.11.2017
// Внимание! Если программка не работает, обновите версию!

begin
  var s:=ReadlnString('Двоичное число:');
  if s.MatchValues('[^01]').Countgt;0 then Writeln('Не двоичное число')
  else begin
    var (n,k):=(BigInteger(0),BigInteger(1));
    for var i:=s.Length downto 1 do begin
      if s[i]='1' then n+=k;
      k*=2
      end;
    Writeln('Десятичное значение: '+n.ToString)
    end
end.

Примеры
Двоичное число: 10101010101111110100010101010101010101010110101010101
Десятичное значение: 6007631318265173

Двоичное число: 11110101010101010010010101010110101011011110100000110100100101010101010101010101010101101010101011010101010101010101010101011111111111110101001010000001010101011111010010101
Десятичное значение: 11473727937279925775504671485025665850663901141319317
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт