begin process at 2010 03 20 16:14:45
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Manipulation de bits et d'octets


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Manipulation de bits et d'octets

mardi 7 juin 2005 à 15:59:41 | Manipulation de bits et d'octets

K0rr1gan

 Bonjour,

je cherche à récupérer 1 à 1 les différents bits d'un octet pour les classer dans un tableaux de bool à l'aide d'une boucle,
pour sa g essayé de décaler les bits à droite de 7-n avec n allant de 0 à 7:

for(int x=0; x<datasize; x++)
        {
                currentB=bytes[x];
                iter=0;

                for(int i=0; i<nb_bits; i++)
                {
                        iter++;
                        bits[x*nb_bits+i] = (currentB>>(7-iter)) & 1;
                        count++;
                }
        }

avec currentB et bytes* de type Byte et bits* de type bool.

Eske kk1 pourrait me dire ou se trouve mon erreur ou m'indiquer une façon de procéder pour recuperer les bits? (c relativement urgent :/)

mardi 7 juin 2005 à 16:08:01 | Re : Manipulation de bits et d'octets

vecchio56

Administrateur CodeS-SourceS
Réponse acceptée !
Comment je ferais:

int n = 0;
for(int x=0; x<datasize; x++)
        {
                currentB=bytes[x];

                for(int i=0; i<nb_bits; i++)
                {
                        bits[n++] = currentB & 0x80; // prend le bit de poids fort
                        currentB <<= 1; // déclale de 1 à gauche
                }
        }
mercredi 8 juin 2005 à 01:59:25 | Re : Manipulation de bits et d'octets

eRoZion

Membre Club
Salut ;)

Je suis pas d'accord...


Pour utiliser la même methode que vecchio (mais il y en a d'autres) :

// bits de taille nb_nits
for(i=0; i<nb_bits; i++)
                {
                        bits[nb_bits-i-1] = currentB & 0x01; // prend le bit de poids faible
                        currentB >>= 1; // décale de 1 à droite
                }

Et pour l'avoir en chaine de caractères (pour l'afficher direct avec %s) :

// bits de taille nb_nits+1
for(i=0; i<nb_bits; i++)
                {
                        bits[nb_bits-i-1] = (currentB & 0x01) + 0x30; // prend le bit de poids faible
                        currentB >>= 1; // décale de 1 à droite
                }
                bits[nb_bits]=0;


Je m'étonne même que tu vous ayez réussi à la faire fonctionner ?! :)


eRoZion


Cette discussion est classée dans : octets, manipulation, bits, iter, currentb


Répondre à ce message

Sujets en rapport avec ce message

port serie : manipulation des bits [ par tobby ] Bonjour, je cherche a maitriser l'ensemble des pins du port serie, independement de tout protocol, en C.Est-ce que qqn aurait une solution?merci d'ava Octets et masque de bits [ par LaTatadu91 ] Bonjour,Voila j'ai un probleme sur un petit programme qui récupére dans un buffer des octets :  BYTE buffer[255]et je voudrais savoir comment a partir Copier 8 bits dans 32 bits [ par innco ] Bonjour, J'essaie de copier d'avoir une image RGB0 en copiant un "char" dans des "int" et de mettre le tout dans un int final. Ca ne marche pas et je probleme de matrice [ par diable007 ] bonjour, voila mon code: #include #include #include using namespace std;void main(){ int i,j;    vector > mathad2(2,vector&l Probléme sur le modulo '%' en C [ par Mareck666 ] Bonjour amis codeurs, codeuses, ... voila en surfant sur le net j'ai découvert un code sources dans une section de devellopez.com qui concerne les che Description format MP3 [ par drefou ] Bonjour,Après un bon moment à chercher sur le net des infos sur ce format, je craque !J'ai bien trouvé le site "http://www.mp3-tech.org/", qui expliqu Octet et bits [ par iloveprog ] Salut,je cherche a savoir, sur un octet, si un bit donné est a zero ou un (car je veux appliquer par la suite des operations particulieres, ou :  1100 Manipulation base de registre [ par tastira ] Bonsoir a tous.Dans le cadre d'un mini projet pour le developpement d'un agent SNMP en c++ j ai eu besoin a utilisé les clé de base de registre pour l ide hdd [ par sam20 ] Salut a tous.Je fais un lecteur hdd ( circuit inprimé + hdd+ pic18f)Je cherche a compendre comment  recevoir et envoyer des donnees depuis un microcon remise à zero registre [ par kayser33 ] bonjour a tous, Je suis sur un projet dans lequel je dois envoyer des images via un port série.A chaque début d'image, j'envoie un marqueur de 24 octe


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,139 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales