PDA

Visualizza la versione completa : [C++] Utilizzare bitset per convertire un numero in forma binaria


Cesaropa12
10-01-2007, 21:52
Volevo convertire un numero in binario in questo modo:

bitset<100> b=10;
cout<<b.to_ulong();

for(int i=b.size()-1;i>=0;i--)
cout<<b[i];

Ma non funziona perch b.size() restituisce la dimensione di tutto il bitset e cio 100. Il fatto che il compilatore mi dice che non posso usare la funzione to_string(utilizzo devc++4.9.9.2). Esiste un sistema?

MItaly
10-01-2007, 23:24
Non ho ben capito... vuoi ottenere il valore intero rappresentato dal bitset? In tal caso non puoi: non esistono interi a 100 bit!

Cesaropa12
11-01-2007, 16:57
Quello che voglio fare una conversione veloce del contenuto del bitset in una stringa da stampare.
Potrei partire dell'ultimo bit e ripercorrere all'indietro il bitset fino a quano ci sono 0, quando trova un 1 inizia a scrivere.
Se non avete ancora capito, sto cercando un modo per convertire un numero in binario attraverso bitset.

MItaly
11-01-2007, 18:48
In sostanza quindi il problema del codice in questione che ti stampa un mucchio di zeri prima del numero che in effetti ti interessa, giusto? In ogni caso credo che per convertire in binario tu faccia prima ad implementare un algoritmo pi semplice senza stare a scomodare il bitset...

Cesaropa12
11-01-2007, 19:13
Si a sto punto si...

Cesaropa12
11-01-2007, 19:24
Ho provato ad utilizzare Visual Studio e la funzione to_string() stampa tutto. Volevo sapere una cosa:come mai Visual Studio implementa la funzione e devc++4.9.9.2 no?

MItaly
11-01-2007, 19:34
Ma che errore ti d Dev-Cpp quando tenti di usare la to_string?

Cesaropa12
11-01-2007, 20:37
Testualmente l'errore che mi da :"no matching function for call to 'std::bitset<100u>::to_string()'

Loading