begin process at 2012 02 11 13:45:06
  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 manipulation des champs de bits dans le langage C [ par neyahou ] salut a tous, j'ai une question a propos le traitement bit à bit dans le langage C : [color=red]* comment accéder au bits d'une variable quelconque e Manipulation de bits! [ par katerson ] Salut à tous! J'ai pas mal de lacunes dans ce domaine et j'aimerai donc avoir vos avis! J'ai un mot de 32bits que je dois former grâce à plusieurs adaptation d'un code de 32 bits à une plateforme 8 bits [ par xtimas ] Bonjour [^^happy13] j'ai un code cryptographique( algorithme RC6) écrit en C qui utilise des registres de 32 bits en cryptage décryptage et expansion Mettre des octets d'un fichier dans un string [ par ddraper ] Bonjour à tous ! Malgrès mes recherches, je suis toujours bloqué. En fait, je ne sais pas comment mettre les octets d'un fichier quelconque dans un Manipulation d'une matrice dynamiquement avec C++ [ par saidkoukou ] Bonjour, Je cherche un code c++ qui me permet de manipuler une matrice dynamiquement,c'est à dire je peux supprimer des lignes et des colonnes (ajoute Manipulation CPLEX [ par mlahbib ] Bonsoir a tous je suis débutant dans le domaine, j'ai saisi mon premier programme et lors de l'exécution la boite de dialogue suivante apparait MBean


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

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 : 0,250 sec (4)

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