Bonjour,
j'ai design matériel sur FPGA qui écrit des bits en mémoire et je voudrais les relire sous forme de bits.
Par exemple si j'ai l'octet "00001010", je voudrais l'afficher telle quelle et pas "10".
Comment je peux faire ?
Merci.
Version imprimable
Bonjour,
j'ai design matériel sur FPGA qui écrit des bits en mémoire et je voudrais les relire sous forme de bits.
Par exemple si j'ai l'octet "00001010", je voudrais l'afficher telle quelle et pas "10".
Comment je peux faire ?
Merci.
Peut être en utilisant les opérateurs logiques...mais il y a sûrement plus simple.
Tu peux le faire en deux étapes, avec quelque chose comme:
- faire un sprintf en octal (ou hexadecimal, mais il y a le problème des majuscules), dans une première chaine
- lire caractère par caractère cette chaine et écrire dans une seconde chaine le binaire de chaque chiffre (switch: '0'-> "000", '7'->"111")
Il y aura le problème de la gestion mémoire à surveiller.
Je ne crois pas qu'il y est plus simple vu que le C ne gère pas directement l'affichage du binaire.Code:
1
2
3
4
5 char n = //ton nombre int i; for (i = 7; i >= 0; i--) printf("%d", (n>>i) & 1);
La réponse de Vun100 me paraît la plus élégante et elle fonctionne parfaitement dans mon cas.
Merci beaucoup.