Я так понимаю, что это цикл перевода числа из двоичной в десятиричную систему счисления,...

0 голосов
66 просмотров

Я так понимаю, что это цикл перевода числа из двоичной в десятиричную систему счисления, но как он работает, если я просто подставил число и попробовал его перевести вручную и с помощью этого цикла - то ответы получились разными.
S:=0;

for i:=k downto 1 do

S:=S*2+a[i];

writeln('новое число = ',S)


Информатика (266 баллов) | 66 просмотров
Дан 1 ответ
0 голосов
Берем цифры исходного числа СПРАВА НАЛЕВО. Первое число умножаем на 1. Второе -на основание системы счисления и складываем с первым. Треье - на основание системы счисления в квадрате и складываем с суммой. Четвертое - на основание системы счисления в третьей степени и складываем с суммой. И т. д.
(104 баллов)
0

да, я забыл что надо справа налево, но почему , например, число 101001 , если переводить через этот ципл получается другой ответ?

0

да

0

почему ответы разные?

0

нет стоп они должны быть одинаковые

0

ну я пытался переводить, ответы получаются разные, подскажите где ошибка