Prog binaire sur windev

Fermé
boboange Messages postés 2 Date d'inscription dimanche 19 octobre 2008 Statut Membre Dernière intervention 26 octobre 2008 - 24 oct. 2008 à 12:20
 Art60 - 10 déc. 2008 à 11:22
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 .
A voir également:

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.
3
sway-yazen Messages postés 128 Date d'inscription mardi 14 octobre 2008 Statut Membre Dernière intervention 18 octobre 2011 54
24 oct. 2008 à 12:38
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
boboange Messages postés 2 Date d'inscription dimanche 19 octobre 2008 Statut Membre Dernière intervention 26 octobre 2008
26 oct. 2008 à 11:25
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