Предмет: Информатика,
автор: JinaJelly
Написать программу в PascalABC!!!
Число в двоичной системе счисления, введенное
пользователем программы, преобразовать в десятичное число.
Ответы
Автор ответа:
0
var a:string;
i,a1,ar:integer;b:real;
begin
readln(a);
b:=0;
for i:=1 to length(a) do
begin
val(a[length(a)-i+1],a1,ar);
b:=b+a1*exp((i-1)*ln(2));
end;
writeln('b=',b);
end.
i,a1,ar:integer;b:real;
begin
readln(a);
b:=0;
for i:=1 to length(a) do
begin
val(a[length(a)-i+1],a1,ar);
b:=b+a1*exp((i-1)*ln(2));
end;
writeln('b=',b);
end.
Автор ответа:
0
А можно вариант по-проще? без "length" и "val"
Автор ответа:
0
Цикл замените на while a<>0
a1=a mod 10
После чего необходимо с помощью div отбросить последнюю цифру. Счетчик i лучше просто увеличивать с помощью inc внутри цикла, формула для вычисления прежняя.
a1=a mod 10
После чего необходимо с помощью div отбросить последнюю цифру. Счетчик i лучше просто увеличивать с помощью inc внутри цикла, формула для вычисления прежняя.
Похожие вопросы
Предмет: Русский язык,
автор: thisissamka
Предмет: Литература,
автор: goracaaarina12
Предмет: Математика,
автор: vasyahymen
Предмет: Геометрия,
автор: 8056