L'opération inverse qui, à partir d'un nombre écrit en base
décimale, consiste à l'écrire en base binaire, s'effectue par divisions
euclidiennes successives de par 2, en ne conservant que les restes
dans l'ordre inverse où ils ont été obtenus. Par exemple, pour , le calcul est le suivant :
program binaire; var nb : string; nd : integer; procedure binaire(d : integer; var b : string); var i, l : integer; aux : string; begin i:=1; repeat if (d mod 2)=0 then b[i]:='0' else b[i]:='1'; d:=d div 2; i:=i+1; until (d=0); l:=length(b); for i:=1 to l do aux[i]:=b[l-i+1]; b:=aux; end; begin writeln('entrez un nombre'); readln(nd); binaire(nd,nb); writeln('la forme binaire de ', nd,' est ', nb); end.