dynamische arraylänge zur laufzeit
-
hallo,
ich möchte bei der Umwandlung einer eingegebenen Dezimalzahl in Binärform(Bitfolge)
ein Array nutzen, dessen Länge sich durch die Länge der Bitfolge bildet.Kann mir da jemand helfen ?
int intf(int b) { int c=b,i=0; //int *Bitarray; //Bitarray = new int[i]; while(c!=0) { if((c%2)==0) {//Bitarray[i]=0; //cout << Bitarray[i] << endl; cout << 0 << endl;} else {//Bitarray[i]=1; //cout << Bitarray[i] << endl; cout << 1 << endl;} c=c/2;i++; } //cout << "\n\n" << Bitarray[1] << endl; return 0; }
-
Entweder du machst dir den passenden Container selbst mit new/delete oder malloc/free, oder du benutzt einen bereits fertigen, wie z.B std::vector oder std::bistset
-
Ich möchte noch anmerken, dass für
std::bitsetdie Grösse zur Compilezeit bekannt sein muss. Ansonsten bietet sich die Spezialisierungstd::vector<bool>oder - jenseits der Standardbibliothek -boost::dynamic_bitsetan.
-
thx.