Décimal ( 0 à 63 ) en BCD ( 6bits)

Résolu
kxpunisher -  
 MANDENGUE Serge -
Bonjour à tous,

voila jaurai aimer savoir sil y avai une fonction ou procedure
qui me permettrai de convertir un decimal compri entre 0 et 63 ( inclu) en BCD codé 6 ( 0 = 000000 ), dans le la,gage Delphi

Merci par avance

4 réponses

  1. Kxpunisher
     
    Slt er merci pour ta réponse

    g trouvé sa sur le ent
    jdoi fair une correpondance pour piolter un afficheur lcd graphiqk c pr sa

    Original
    
    function DecToRoman(Decimal: Longint): string;
    const
      Numbers: array[1..13] of Integer =
        (1, 4, 5, 9, 10, 40, 50, 90, 100,
        400, 500, 900, 1000);
      Romans: array[1..13] of string =
        ('I', 'IV', 'V', 'IX', 'X', 'XL',
        'L', 'XC', 'C', 'CD', 'D', 'CM', 'M');
    var
      i: Integer;
    begin
      Result := '';
      for i := 13 downto 1 do
        while (Decimal >= Numbers[i]) do
        begin
          Decimal := Decimal - Numbers[i];
          Result  := Result + Romans[i];
        end;
    end;
    
    
    //Example:
    //Beispiel:
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      label1.Caption := DecToRoman(5);
      Label2.Caption := DecToRoman(458);
    end;
    
    
    Modifié exemple:
    
    function LineToBianry(Line: Integer): string;
    const
      Lines: array[0..63] of Integer =
        (1, .. 63);
    
      Binary: array[0..63] of string =
        ('11000000', ..,'11111111');
    
    var
      i: Integer;
    begin
      Result := '';
    
    //supplement
    if Line>0 then begin
    //fin rajout
      for i := 63 downto 1 do
        while (Line >= Lines[i]) do
        begin
          Line := Linel - Binary[i];
          Result  := Result + Binary[i];
    LineToBianryValue:=Result;
        end;
    end else
    LineToBianryValue:='11000000';
    end;
    
    
    
    
    
    
    
    
    //Example:
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      label1.Caption := LineToBinary(45);
    end;
    


    mon code fonctionne je v codé tte les fonction komm ceci

    Display on off
    Dispay start mline
    Set page X
    Set Y address
    Status read

    etc
    0
  2. SKZ81
     
    >>jdoi fair une correpondance pour piolter un afficheur lcd graphiqk
    D'accord !! Comme ça c'est plus clair ! Ta posé la question à l'envers :°)
    En fait tu veux partir de ta base binaire, enfin un entier en mémoire, à deux entiers de 4 bit en mémoire. (voire un entier de 8 bits).
    J'ai fait du pascal antant, mais j'ai pas assez pratiqué récemment pour employer ce language sans méchament l'écorcher.
    Idée générale :
    Pré-conditions :
    IF (x<0) OR (x>63) THEN ERROR() ELSE
    VAR
      d, u : INTEGER;
    BEGIN
    

    Tu cherche la partie décimale :
      d = x DIV 10;

    Ensuite la partie entière :
      u = x - d*10;
    ....
    ...
    ..
    END;
    


    Et tu disposes dans les 4 bit de poids faibles de chacun des deux entier d et u, de la représentation BCD que tu doit fournir à tes afficheurs... S'il ont bien 4 bits d'entrés chacun ! :D
    0
  3. MANDENGUE Serge
     
    slu les gars,j'ai besoin d'une aide en algo!!j'aimerais connaître comment écrire le progamme en turbo-pascal qui convertie une valeur décimale en binaire,en octal et en hexadécimal!!de plus ,comment afficher le résultat d'un algo qui affiche les éléments d'1 tableau t1 n'appartenant pas à t2 ou les éléments de ce tableau t2 n'appartenat pas à t1!!merci
    0