Помогите написать программу перевода числа из двоичной системы в десятичную с использованием функции возведения в степень. Я написала, но у меня где-то ошибка. b:=0; m:=length(max)-1;j:=m;for i:=1 to m do begin val(max[i],p...
Помогите
написать программу перевода числа из двоичной системы в десятичную с
использованием функции возведения в степень. Я написала, но у меня
где-то ошибка.
b:=0;
m:=length(max)-1;
j:=m;
for i:=1 to m do
begin
val(max[i],p,code);
while j>=0 do
p:=p*step(2,j);
b:=b+p;
j:=j-1;
writeln(b);
end;
Поясняю,
что тут и как. Эта мини-задача, входящая в решение одной масштабной
задачищи. Дана строка max, в которой записано двоичное число. Функция
step(x,y:integer):integer
возводит число x в степень y. Помогите найти и исправить ошибку,
только, пожалуйста, не надо писать СОВЕРШЕННО ДРУГОЙ способ решения. Заранее благодарю))
Ответ(ы) на вопрос:
begin
max := '1010';
b := 0;
m := length(max);
j := m - 1;
for i := 1 to m do
begin
val(max[i], p, code);
{while j >= 0 do}
p := p * step(2, j);
b := b + p;
j := j - 1;
writeln(b);
end;
end.
Не нашли ответ?
Похожие вопросы