Accueil > > > MANIPULER DES CHAINES DE BITS FACILEMENT
MANIPULER DES CHAINES DE BITS FACILEMENT
Information sur la source
Description
Initialiser des octets, mots et doubles mots en ayant un acces sur chaque bit individuels. Cela peut servir à beaucoup de choses, moi c'est en faisant un algo de compression style RLE que j'en ai eu besoin.
Source
- // Spécification
-
- struct OCTET
- {
- unsigned msb : 1;
- unsigned _7 : 1;
- unsigned _6 : 1;
- unsigned _5 : 1;
- unsigned _4 : 1;
- unsigned _3 : 1;
- unsigned _2 : 1;
- unsigned lsb : 1;
-
- // Construction
- OCTET(unsigned char val = 0x00) {set_val_octet(val);}
- OCTET(bool, bool, bool, bool, bool, bool, bool, bool);
- OCTET(const OCTET&);
-
- // Manipule l'octet
- void set_val_octet(unsigned char);
- unsigned get_val_octet();
-
- // Pour affichage gui & console
- const char* set_buf_string(char[]);
- friend ostream& operator << (ostream&, const OCTET&);
- };
-
- // la structure mot
-
- struct MOT
- {
- OCTET hiByte;
- OCTET lowByte;
-
- MOT(unsigned short w = 0x0000) : hiByte(HIBYTE(w))
- , lowByte(LOBYTE(w)) {}
-
- // Wrapper affichage (pour ne pas passer plusieurs fois par l'octet)
- const char* affiche_mot(char lpBuffer[]);
- };
-
-
- // la structure doubleMot
-
- struct DOUBLEMOT
- {
- MOT hiWord;
- MOT lowWord;
-
- DOUBLEMOT(unsigned int d = 0x00000000) : hiWord(HIWORD(d))
- , lowWord(LOWORD(d)) {}
-
- // Wrapper affichage (pour ne pas passer plusieurs fois par le mot)
- const char* affiche_doublemot(char lpBuffer[]);
- };
// Spécification
struct OCTET
{
unsigned msb : 1;
unsigned _7 : 1;
unsigned _6 : 1;
unsigned _5 : 1;
unsigned _4 : 1;
unsigned _3 : 1;
unsigned _2 : 1;
unsigned lsb : 1;
// Construction
OCTET(unsigned char val = 0x00) {set_val_octet(val);}
OCTET(bool, bool, bool, bool, bool, bool, bool, bool);
OCTET(const OCTET&);
// Manipule l'octet
void set_val_octet(unsigned char);
unsigned get_val_octet();
// Pour affichage gui & console
const char* set_buf_string(char[]);
friend ostream& operator << (ostream&, const OCTET&);
};
// la structure mot
struct MOT
{
OCTET hiByte;
OCTET lowByte;
MOT(unsigned short w = 0x0000) : hiByte(HIBYTE(w))
, lowByte(LOBYTE(w)) {}
// Wrapper affichage (pour ne pas passer plusieurs fois par l'octet)
const char* affiche_mot(char lpBuffer[]);
};
// la structure doubleMot
struct DOUBLEMOT
{
MOT hiWord;
MOT lowWord;
DOUBLEMOT(unsigned int d = 0x00000000) : hiWord(HIWORD(d))
, lowWord(LOWORD(d)) {}
// Wrapper affichage (pour ne pas passer plusieurs fois par le mot)
const char* affiche_doublemot(char lpBuffer[]);
};
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
récupérer chaque bit d'une variable binaire [ par nixon666 ]
BJJe me pause une question dans un programme de supervision utilisant le language C : pour ceux qui connaissent il s'agit du programme WinCC. Dans ce
Acces a chaque bit d'un nombre binaire [ par djemmy ]
Je dois obtenir, à partir de 4 nombres décimals(compris entre 0 et 15), les 4 nombre en binaire correspondants. De ces nombres binaires je dois en fab
Conversion décimale => binaire [ par nicolas66 ]
Bonsoir tlm,j'ai un pb un une ptite fonction pas très compliquée à mon avis :char * itob( int n ){ char * chaine; int i = 0; while ( n > 0 ) { *(c
Ecrire en binaire dans un fichier [ par pheno ]
Bonjour Je dois réaliser un tp en C sur la compression avec la méthode Huffmanj ai construit l arbre et je récupère le chemin dans une chaine de carac
chaine binaire en chaine hexa [ par thomas59553 ]
bonjour a tous ;)je cherche une methode permettant de convertir une chaine binaire en une chaine hexale contenu de la chaine binaire est deja verifiee
fichier binaire [ par stivi_45 ]
Bonjour a tous, j'ai une petite question, je travaille sur un fichier binaire en c.Je stocke des informations dans ce fichier avec une structure : typ
Structure des fichiers mp3 [ par mop666 ]
salut, j aimerais faire un logiciel a lacon pour remplir les id3 de mes fichiers mp3...quelqu un sait il comment un fichier mp3 est organisé (entete d
Probleme de sauvegarde d'une structure dans un fichier binaire [ par issoux ]
Bonsoir, voila j'encode des etudiants + matricule + cotes (tous des champs d'une structure)les cotes et les matricules sont sauvés correcte
conversion d'une chaine type "01001000" en binaire [ par brennyboy ]
Bonjour à tous !J'aimerais savoir comment passer d'une chaine de 8 caracteres contenant seulement de 0 et des 1, au chiffre décimal correspo
Ecriture Fichier Binaire bit a bit [ par nobpn ]
Bonjour, Je souhaiterai ecrire dans un fichier bianire bit a bit. Je m'explique : il s'agit de compression : je recupere un tablo de int = les bits
|
Derniers Blogs
[WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|