Decimal vers binaire

Description

Ce code vient rectifier celui de g0belin qui ne fonctionnait pas chez moi.
ce programme est simple et commenté, il s'agit de convertir un nombre 16bit (-de 65536 et non négatif) en sa représentation binaire.
Attention aucun contrôle d'erreur n'est mis en place.

Source / Exemple :


unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);

var nbr,i:integer;
 reste:array[1..16]of integer;
 res:string;

begin
 for i:=1 to 16 do
  reste[i]:=0;
//met les valeurs à zéro car un tableau est oujours initialisé avec des valreurs non nuls.

 i:=1;
 nbr:=StrToInt(edit1.text);
 while nbr <> 0 do
 begin
  reste[i]:=nbr mod 2;//le reste de la div(0 ou 1)
  nbr:=nbr div 2;//le nombre résulant de la div par 2 (128/2=64)
  inc(i);//permet le passage à l'indice suivant du tableau RESTE
 end;
 for i:=16 downto 1 do
  res:=res+inttostr(Reste[i]);
//inverse le résultat

 edit2.text:=res;
end;

end.

Conclusion :


Un contrôle d'erreur sera peut-etre inclus dans une version ultérieure, 1 merci à gobelin sans qui je ne serai jamais inscrit.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.