Prog binaire sur windev

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. 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
    1. 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. 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