Prog binaire sur windev

boboange Messages postés 4 Statut Membre -  
 Art60 -
Bonjour,j suis bobo j veus ecrit un prog sur winndev qui permet de convertir un nombre decimal en binaire.
j'ai ecrit le code et le voici

n est un numérique
b est un numérique=2
i est un numérique
c est un numérique
n=a1
c=n/b
i=n modulo b

TANTQUE n <> 0
c=n/b
i= n modulo b

FIN
a2=i

mon probleme est que j ne sait pas concatene deux chaines numerique.
si vs pouvez m'aidez .
Configuration: Windows XP
Internet Explorer 6.0

2 réponses

  1. Art60
     
    Bonjour,

    Pour convertir une valeur en une chaine la représentant dans une base quelconque est très simple.

    Rappel, pour convertir en hexadécimal, il suffit d'utiliser la formule suivante :
    sChaine = NumériqueVersChaine(nValeur,"04X") // 04X signifie avoir exactement 4 chiffres hexadécimaux

    Pour les autres bases, dont le binaire, on peut utiliser la petite fonction suivante :

    FONCTION NumériqueVersBase(nValeur,nBase,nChiffres=0) // nChiffres permet de spécifier le nombre de chiffres
    // Exemple : sChaine = NumériqueVersBase(25,2,8) // Affecte "00011001" à sChaine (binaire)
    // Exemple : sChaine = NumériqueVersBase(255,8) // Affecte "377" à sChaine (octal)

    nReste est un entier
    nNombre est un entier = nValeur
    sResultat est une chaine

    BOUCLE
    nReste = nNombre modulo nBase // Calcul du chiffre de droite
    sResultat = nReste + sResultat // Additionner un nombre à une chaine conduit à une concaténation de chaines
    nNombre = (nNombre - nReste) / nBase // calcul des prochains chiffres (à gauche)
    SI nNombre<=0 ALORS SORTIR // Sortir lorsqu'il n'y a plus rien à faire
    FIN

    SI nChiffres>0 alors // Si l'utilisateur a demandé à formater le résultat sur un nombre précis de positions
    sResultat = Droite(Repète("0",nChiffres)+sResultat, nChiffres) // Compléter avec des zéros à gauche
    FIN

    RENVOYER sResultat

    Tu me diras si ça te convient.
    3
  2. sway-yazen Messages postés 128 Date d'inscription   Statut Membre Dernière intervention   54
     
    bonjour,
    pour concatener deux chaine numerique en algorithmique :
    supposant C1 de taille n1 et C2 de tailler n2

    i : entier ;
    j : entier ;

    j <-- 0;

    pour i de n1 à n2 ;

    C1 [ i ] = C2 [ j ] ;

    fin pour
    -1
    1. boboange Messages postés 4 Statut Membre
       
      merci sway_yazen de m'avoir repondu . mais vraiment g ne comrend rien .stp essai de voir l'erreur kil ya dans le code que g t'ai envoyer et corrige la stp. merci d'avance.
      -1