Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- * Conversion d'une "chaîne" binaire composée de 0's et 1's
- * sur 16 caractères en deux "octets" bytes
- *
- */
- #include <stdio.h>
- #include <string.h>
- void printBin (unsigned char byte);
- int main(){
- char tmp[] ="0101010101010101"; //0101 0101 = 0x55 0101 0101 = 0x55
- unsigned char byte;//Variable auxiliaire
- for (int i=0;i<strlen (tmp);i++){ //parcourt la chaîne de 16 bits-chars
- byte += tmp[i] =='1' ? 1:0;
- if ( (i==7) || (i==15)){
- printf("\nHEX 0x%02X \n",byte);//Affiche l'octet sous forme HEX
- printBin( byte );//Affiche l'octet sous forme BIN
- byte=0;//Reset variable auxiliare
- }else {byte = byte<<1;}//décale un "bit" vers la gauche <<1
- }
- return 0;
- }
- //Fonction pour imprimer , "tester" le byte binaire
- void printBin (unsigned char byte){
- printf ("HEX in printBin 0x%02X\n",byte);
- for (int i=0;i<8;i++){
- printf ("%c", byte & 0x80 ? '1': '0');
- byte=byte<<1;
- }
- printf ("%c",'\n');
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement