Описать функцию, которая возвращает строковое представление целого числа N в двоичной системе счисления - Turbo Pascal
Формулировка задачи:
Описать функцию, которая возвращает строковое представление целого числа N в двоичной системе счисления. Используя эту функцию , получить двоичные представления пяти чисел.
Решение задачи: «Описать функцию, которая возвращает строковое представление целого числа N в двоичной системе счисления»
textual
Листинг программы
Function GetBinNum(A : Longint) : String; Var S : String; n : Longint; Begin S:=''; n:=A; While n>0 do Begin S:=Chr(48+(n mod 2))+S; n:=n div 2; End; GetBinNum:=S; End; Begin Writeln(GetBinNum(4)); Writeln(GetBinNum(6)); Writeln(GetBinNum(16)); Writeln(GetBinNum(32)); Writeln(GetBinNum(64)); End.
Объяснение кода листинга программы
- В функции
GetBinNum
объявлены две переменные:S
иn
. ПеременнаяS
инициализируется пустой строкой, а переменнаяn
инициализируется входным значениемA
. - Затем начинается цикл
While
, который выполняется до тех пор, покаn
больше нуля. - Внутри цикла в переменную
S
добавляется символ, соответствующийn
в двоичной системе счисления (с помощью функцииChr
). Это делается путем преобразованияn
в строку и добавления символа, соответствующего его первому биту (48 + (n mod 2)
), а затем добавления полученной строки к переменнойS
. - Затем
n
делится на 2 (с помощью оператораdiv
) и результат присваивается переменнойn
. - После завершения цикла
While
значение переменнойn
становится равным нулю, и функцияGetBinNum
возвращает значение переменнойS
. - В основной части кода вызывается функция
GetBinNum
с четырьмя разными значениямиA
: 4, 6, 16 и 32. - Выводится результат вызова функции
GetBinNum
для каждого из этих значений. - Конец программы.