Questa e la parte che ho gia fatto, non riesco a converire da esa a bin, qualcuno mi puo dare una mano?
codice:#include <cstdlib> #include <iostream> using namespace std; void visbyte(char ch); char esatobyte(char cifra1, char cifra0); int main(int argc, char *argv[]) { char frame[73]; // non uso l'elemento zero string MAC_O, MAC_D, msg; int i; //INPUT MAC_O = "02-60-8C-E9-8B-01"; MAC_D = "74-E5-43-19-30-CD"; msg = "Ciao io sono il payload"; // preambolo for(i=1; i<=7; i++){ frame[i] = 170; } // SFD 10101011 frame[8] = 171; // MAC Destinatario for(i=0; i<=15; i+=3){ frame[9+(i/3)] = esatobyte(MAC_O[i], MAC_O[i+1]); } // ........... // OUTPUT for(i=1; i<=8; i++){ visbyte(frame[i]); cout << " "; } system("PAUSE"); return EXIT_SUCCESS; } // trasforma e visualizza ch in 8 bit void visbyte(char ch) { int bin[8]; for (int i=0;i<8;i++) { bin[i]=((ch>>i)&1); } for (int i=0;i<8;i++) { cout<<bin[7-i]; } } char esatobyte(char cifra1, char cifra0) { char bin; if (cifra0 >= '0' && cifra0 <= '9') { bin = cifra0 - 48; // printf("bin = %c %d:\n", cifra0, cifra0); } else { bin = cifra0 - 55; } printf("bin = %d:", bin); // ... return bin; }

Rispondi quotando
