Дана строка, изображающая двоичную запись целого числа. Вывести строку, изображающую десятичную запись этого же числа - Pascal ABC
Формулировка задачи:
Дана строка, изображающая двоичную запись целого числа. Вывести строку, изображающую десятичную запись этого же числа.
Решение задачи: «Дана строка, изображающая двоичную запись целого числа. Вывести строку, изображающую десятичную запись этого же числа»
textual
Листинг программы
program Bintodec; var i, n, m: integer; d, b: string; err: boolean; begin repeat err := false; write('Enter binary string: '); readln(b); if length(b) > 64 then writeln('Very long string, enter valid string'); for i := 1 to length(b) do if not(b[i] in ['0', '1']) then begin err := true; writeln('It is not binary string'); break; end; until ((length(b) <= 64) and not(err) and (b <> '')); n := 0; m := 1; for i := length(b) downto 1 do begin if b[i] = '1' then n := n or m; m := m shl 1; end; str(n, d); writeln('Decimal string: ', d); readln; end.
Объяснение кода листинга программы
- Программа
Bintodec
принимает двоичную строку и выводит десятичную строку для этого же числа. - В программе используются следующие переменные:
- i, n, m - целочисленные переменные для подсчета и преобразования двоичной строки в десятичную.
- d, b - строковые переменные для хранения двоичной и десятичной строк соответственно.
- err - логическая переменная для проверки корректности введенной строки.
- Программа запрашивает у пользователя ввод двоичной строки до тех пор, пока не будет введена корректная строка (не длиннее 64 символов, состоящая только из '0' и '1').
- Затем происходит преобразование двоичной строки в десятичную строку с помощью цикла, где каждый символ двоичной строки проверяется на соответствие '0' или '1'.
- Десятичная строка выводится на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д