Tout nombre
écrit en base B, où
se convertit en base décimale (B=10) par la formule
suivante
.
Par exemple, le nombre
écrit en base binaire (B=2) s'écrit
.
On écrit une procédure qui à partir d'une chaine de caractères représentant un nombre écrit en binaire, calcule le nombre entier correspondant en base décimale.
program binaire;
var nb : string;
nd : integer;
procedure decimale(b : string; var d : integer);
var i, l, p : integer;
begin
d:=0;
p:=1;
l:=length(b);
for i:=0 to l-1 do
begin
if b[l-i]='1' then d:=d+p;
p:=p*2;
end;
end;
begin
writeln('entrez un nombre binaire');
readln(nb);
decimale(nb,nd);
writeln('sa forme decimale est ',nd);
end.