В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История

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

Показать ответ
Ответ:
елизавета4щ
елизавета4щ
10.08.2020 18:15
// PascalABC.NET 3.3, сборка 1579 от 18.11.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var s:=ReadlnString('Двоичное число:');
  if s.MatchValues('[^01]').Count>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
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота