C# --> Probleme conversion hexadecimal en binaire

julbuttt Messages postés 19 Date d'inscription mercredi 18 janvier 2006 Statut Membre Dernière intervention 19 juin 2006 - 27 mars 2006 à 18:22
julbuttt Messages postés 19 Date d'inscription mercredi 18 janvier 2006 Statut Membre Dernière intervention 19 juin 2006 - 29 mars 2006 à 19:49
Bonjour, voila, dans mon code je recois de l'hexadecimal que je transforme en binaire, et le probleme est que si j'ai au debut de l'hexa des zéros puis des autres hewadecimaux et bien il me traduit tout sauf les 0!!
EX:
00AEB9 --> 1010111010111001 au lieu de 000000001010111010111001
000000 --> 0 au lieu de 000000000000000000000000
J'ai testé avec la calculatrice de windows et ca me fait pareil!!
Je voudrai savoir si vous connaissez un moyen de rectifier le probleme!!
Merci d'avance.
Amicalement julbuttt!!

8 réponses

rab33 Messages postés 63 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 11 mai 2006
27 mars 2006 à 20:00
salut

tu peu voir sur la class Conversion

Coll
0
julbuttt Messages postés 19 Date d'inscription mercredi 18 janvier 2006 Statut Membre Dernière intervention 19 juin 2006
27 mars 2006 à 20:04
ben pour faire la conversion j'utilise deja cette classe!
0
Utilisateur anonyme
28 mars 2006 à 03:48
C'est normal, les 0 qui sont au depart sont inutiles, tout depend apres
de l'utilisation mais si c'est pour des calculs ca ne pose aucun
probleme qu'il n'y ait pas ces 0 devant.
0
julbuttt Messages postés 19 Date d'inscription mercredi 18 janvier 2006 Statut Membre Dernière intervention 19 juin 2006
28 mars 2006 à 09:52
C'est clair que pour des calculs ca ne sert à rien mais cette conversion me sert en réalité pour des trames donc si les 0 ne sont pas convertis et bien ca le fait pas car la trame est éronnée!!
Donc il faut absolument que je résoud le probleme.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
28 mars 2006 à 15:38
Salut comment fais tu la conversion, tu passes d'un int vers une chaine !?
0
julbuttt Messages postés 19 Date d'inscription mercredi 18 janvier 2006 Statut Membre Dernière intervention 19 juin 2006
28 mars 2006 à 18:25
Alors dans ma fonction de conversion je recois un string en parametre qui represente une partie de ma trame, ce string je le convertie en hexa puis l'hexa je le convertie en long, ces conversions je l'ai fais avec la classe conversion(Convert......) puis de ce long je le convertie en binaire avec un algo que j'ai ecrit!!
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
28 mars 2006 à 19:08
C'est pas ce que je pensais sinon je t'aurais proposé cette fonction, mais là je crois que ça ne va pas convenir.

private string GetBinaryString( int val )
{
int mask = 1 << 31; // le bit le plus haut est à 1.
StringBuilder sb = new StringBuilder( );


for ( int i = 0; i < 32; i++ ) // 32 bits
{
if ( ( val & mask ) != 0 )
sb.Append( '1' );
else
sb.Append( '0' );


val <<= 1;


if ( ( i + 1 ) % 8 == 0 ) // Pour faire joli : )
sb.Append( ' ' );
}


return sb.ToString( );
}
0
julbuttt Messages postés 19 Date d'inscription mercredi 18 janvier 2006 Statut Membre Dernière intervention 19 juin 2006
29 mars 2006 à 19:49
Bon j'ai résolu mon probleme avec un algo que j'ai ecrit et qui me permet de rectifier ce probleme de simplification!!
En tout cas, merci pour vos réponses!!
0
Rejoignez-nous