bin1:=bin; {bin1 будем использовать для вывода, т.к. значение bin изменится}
for i:=0 to 7 do {если предположить что число меньше, или равно 255}
begin {берём цикл в программные скобки}
temp:=bin mod 10; {отделяем последнюю цифру в переменную temp, которую используем в качестве буфера}
bin:=bin div 10; {убираем последнюю цифру}
dec:=dec+(temp*exp(i*ln(2)));
end; {вышли из цикла}
write ('Число ',bin1,'(2) = ',dec,'(10)');
end.
Пы.Сы. У меня в 9-ом классе не было паскаля, так что использовал всё самое простое что мог. Если вы учили такой тип данных как строка, то напиши в личку, я переделаю. И если что-то не работает/не так работает тоже напиши, ибо у меня нету паскаля и я не мог проверить) Мог где-то случайно опечататься.
Answers & Comments
program perevod;
uses crt;
var
temp, dec, i: byte;
bin, bin1: longint;
begin
clrscr;
write ('Введите двоичное число: );
readln (bin);
bin1:=bin; {bin1 будем использовать для вывода, т.к. значение bin изменится}
for i:=0 to 7 do {если предположить что число меньше, или равно 255}
begin {берём цикл в программные скобки}
temp:=bin mod 10; {отделяем последнюю цифру в переменную temp, которую используем в качестве буфера}
bin:=bin div 10; {убираем последнюю цифру}
dec:=dec+(temp*exp(i*ln(2)));
end; {вышли из цикла}
write ('Число ',bin1,'(2) = ',dec,'(10)');
end.
Пы.Сы. У меня в 9-ом классе не было паскаля, так что использовал всё самое простое что мог. Если вы учили такой тип данных как строка, то напиши в личку, я переделаю. И если что-то не работает/не так работает тоже напиши, ибо у меня нету паскаля и я не мог проверить) Мог где-то случайно опечататься.