Conversion décimal binaire en 32 bits en C
Fermé
pauline1602
Messages postés
3
Date d'inscription
lundi 2 avril 2012
Statut
Membre
Dernière intervention
2 avril 2012
-
2 avril 2012 à 14:18
le père - 3 avril 2012 à 10:20
le père - 3 avril 2012 à 10:20
A voir également:
- Excel conversion binaire 32 bits
- 32 bits - Guide
- Télécharger windows 7 32 bits usb - Télécharger - Systèmes d'exploitation
- Winrar 64 bits windows 10 - Télécharger - Compression & Décompression
- Power iso 32 bits - Télécharger - Gravure
- Liste déroulante excel - Guide
4 réponses
Le for que tu as vu en cours n'est qu'un exemple, l'instruction for est bien plus générale et plus puissante que ça.
Dans sa définition, il n'est pas question de comparaison ni d'incrémentation - même si c'est la manière la plus classique de s'en servir.
Quant au ? : , c'est un opérateur qui signifie : si ce qui est avant ? est vrai ( c'est à dire différent de 0) la valeur est celle comprise entre ? et : , sinon c'est celle indiquée après le :
Ou, si tu préfères :
a = condition ? sivvrai : sifaux;
si condition est vraie, a recevra la valeur sivrai, sinon a recevra la valeur sifaux.
Ça permet d'écrire de manière abrégée un test simple.
Quand on mélange tout ça, on arrive vite à quelque chose d'illisible et je crois que j'en ai donné un exemple.
Pour te donner une version que tu devrais pouvoir comprendre, si tu as une petite idée de ce qu'est un nombre binaire :
(je n'ai pas essayé)
Dans sa définition, il n'est pas question de comparaison ni d'incrémentation - même si c'est la manière la plus classique de s'en servir.
Quant au ? : , c'est un opérateur qui signifie : si ce qui est avant ? est vrai ( c'est à dire différent de 0) la valeur est celle comprise entre ? et : , sinon c'est celle indiquée après le :
Ou, si tu préfères :
a = condition ? sivvrai : sifaux;
si condition est vraie, a recevra la valeur sivrai, sinon a recevra la valeur sifaux.
Ça permet d'écrire de manière abrégée un test simple.
Quand on mélange tout ça, on arrive vite à quelque chose d'illisible et je crois que j'en ai donné un exemple.
Pour te donner une version que tu devrais pouvoir comprendre, si tu as une petite idée de ce qu'est un nombre binaire :
(je n'ai pas essayé)
unsigned x=128954; unsigned msk = 0x80000000; int k; for (k = 0; k<32; k++) { if (x & msk) printf('1'); else printf('0'); msk = msk >>1; }
Bonjour
Si ton C utilise des entiers sur 32 bits ou plus, il n'y a aucun calcul à faire, puisque les nombres sont codés en binaire à l'intérieur des variables. Il y a juste à tester les bits.
Pour le fun :
Réfléchis à comment ce programme marche (car il marche) , pour le cas où ton prof te le demanderait ^^
Si ton C utilise des entiers sur 32 bits ou plus, il n'y a aucun calcul à faire, puisque les nombres sont codés en binaire à l'intérieur des variables. Il y a juste à tester les bits.
Pour le fun :
unsigned x=128954; unsigned msk; for (msk=0x80000000; msk; msk>>=1) printf("%c",(x & msk)?'1':'0');
Réfléchis à comment ce programme marche (car il marche) , pour le cas où ton prof te le demanderait ^^
pauline1602
Messages postés
3
Date d'inscription
lundi 2 avril 2012
Statut
Membre
Dernière intervention
2 avril 2012
2 avril 2012 à 15:53
2 avril 2012 à 15:53
ok bah en tout cas MERCI, et oui il marche car javais des chiffres a convertir et j'ai tout bon! il reste plus qu'a le déchiffrer comme je doit le rendre^^
mais MERCI BEAUCOUP !
mais MERCI BEAUCOUP !
pauline1602
Messages postés
3
Date d'inscription
lundi 2 avril 2012
Statut
Membre
Dernière intervention
2 avril 2012
2 avril 2012 à 17:51
2 avril 2012 à 17:51
dsl mais je ne compren pas la dernière ligne pourrai tu l'écrire différament ?
moi j'ai vue en cours :
for(inicialisation;i<valeur;incrémentation)
et je ne comprend pas non plus ceci (x & msk)?'1':'0'
merci
moi j'ai vue en cours :
for(inicialisation;i<valeur;incrémentation)
et je ne comprend pas non plus ceci (x & msk)?'1':'0'
merci
3 avril 2012 à 00:23
Je verrais plutôt : printf("1"); else printf("0");
3 avril 2012 à 10:20