04/06/08 19:43
Amarath
chiedo scusa, magari è vecchio e gia risolto.. ma aprire il file in modalità binaria, non vuol dire che il compilatore converte automaticamente in bit, ma semplicemente salva quello che gli passi e lo tratta come bit, ma non converte..
aaa
06/06/08 13:26
ciao
sei fortunato, un po di tempo fa ho dovuto fare la stessa cosa e ho scritto una funzione che prende un int o un char e lo converte in binario
è anche commentata
eccola
void decbin ( int n, char c='n' ) //anche se se inserisco un char al posto dell int me lo converte direttamente al suo numero corrispondente
{ //se chiamo la funzione senza mettere il parametro c viene preso per default c='n'
int i,j=0;
int bin[9];
for ( i=128 ; i>=1 ; j++ , i/=2 ) //j serve indicare la posizione nell array
{ //i sarà un numero che ha sempre solo un bit attivato, e quindi ne controlla uno per volta
if (n & i) //se i bit attivi di i lo sono anche in n mi restituisce VERO
{
if(c=='n') cout<<"1"; //se c='n' mi fa vedere il numero binario sullo schermo
else bin[j]=1; //se c!='n' allora mi mette il numero binario in un int array
}
else
{
if(c=='n') cout<<"0"; //se i bit attivi in i non lo sono in n stampa uno 0
else bin[j]=0; //o me lo mette nell array
}
}
if (c=='n')
cout<<endl;
}
Ultima modifica effettuata da 06/06/08 13:30