Предмет: Информатика,
автор: Максим58765
Помогите написать программу в Pascal. Нужно чтобы пользователь ввёл число из десятичной системы, а программа переводила его в двоичный код.
Максим58765:
Желательно без цикла repeat
Ответы
Автор ответа:
0
Ответ:
program des_v_dvoich;
uses crt;
var
x,i: integer;
s:String;
begin
write('Введите десятичное число>>');
read(x);
write('Двоичное число>>');
if x<0 then begin
write('-');
x:=abs(x);
end;
if x=0 then
write ('0')
else
begin
while x<>0 do begin
if x mod 2 =1 then
s:=s+'1'
else
s:=s+'0';
x:=x div 2
end;
for i:=length(s) downto 1 do
write(s[i])
end;
end.
Объяснение:
Скрины выполнения прикреплены
Приложения:
Автор ответа:
0
PascalABC.NET
Ответ:
Перевод целых чисел в двоичный код:
- function f(x:integer):string := x>0 ? f(x div 2) + x mod 2 : '';
- function ToBinaryCode(Self:integer; n:byte:=8):string; extensionmethod;
- begin
- Result :=
- if Self = 0 then '0'
- else f((Self or Trunc(2**n)) and Trunc(2**n-1)).PadLeft(n, Self>0 ? '0':'1')
- end;
- begin
- ReadInteger.ToBinaryCode.Print;
- end.
Перевод целых чисел в двоичную систему счисления:
- function f(x:integer):string := x>0 ? f(x div 2) + x mod 2 : '';
- function Bin(x:integer):string := x=0 ? '0' : x>0 ? f(x) : '-' + f(Abs(x));
- begin
- Print('x₂:', Bin(ReadInteger('x₁₀:')))
- end.
Пример работы:
Приложения:
Похожие вопросы
Предмет: Қазақ тiлi,
автор: kuanovarman
Предмет: Русский язык,
автор: lulu45
Предмет: Русский язык,
автор: raioo2011
Предмет: Математика,
автор: dashashumeyko