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
Art60 - 10 déc. 2008 à 11:22
A voir également:
- Prog binaire sur windev
- Codage binaire - Guide
- Robot prog - Télécharger - Édition & Programmation
- Réponse binaire - Forum Bases de données
- Alphabet binaire ✓ - Forum Programmation
- Pour être traitée par un ordinateur, l'information est codée avec un codage binaire (0 ou 1). elle occupe une certaine quantité d'espace mémoire mesurée en nombre de bits. voici deux façons de coder des lettres avec un codage binaire. le code 1 utilise 8 bits par lettre. le code 2 utilise moins de bits. - Forum Programmation
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.
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.
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
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
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
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
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.