Prog binaire sur windev
boboange
Messages postés
4
Statut
Membre
-
Art60 -
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 .
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
-
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. -
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