Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    211

    [c++]Utilizzare bitset per convertire un numero in binario

    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?

  2. #2
    Non ho ben capito... vuoi ottenere il valore intero rappresentato dal bitset? In tal caso non puoi: non esistono interi a 100 bit!
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    211
    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.

  4. #4
    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...
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    211
    Si a sto punto si...

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    211
    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?

  7. #7
    Ma che errore ti dà Dev-Cpp quando tenti di usare la to_string?
    Amaro C++, il gusto pieno dell'undefined behavior.

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    211
    Testualmente l'errore che mi da è:"no matching function for call to 'std::bitset<100u>::to_string()'

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.