Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    bigint in c++

    ciao gente..
    io dovrei fare una libreria per la gestione degli interi grandi (i cosidetti bigint)
    ce qualcuno ke puo aiutarmi?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Una richiesta un po' generica mi pare ...

    In un forum si danno aiuti ... ovviamente non si scrive tutto di sana pianta (quello sarebbe un lavoro ...).

    Tu chiedi e sarai aiutato nel limite del possibile ...

  3. #3
    gia..hai ragione...
    cioe...tipo per memorizzare un numero tipo 228229292020020020202......ke struttura dati mi consigliate....io avrei intenzione di utilizzare un vector...dove ognui cifra andra messa nella posizione iesima..ke ne dite..?

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Un semplice array di byte potrebbe essere piu' efficiente e veloce ...

  5. #5
    Originariamente inviato da oregon
    Un semplice array di byte potrebbe essere piu' efficiente e veloce ...
    in ke senso..scusa...cioe siccome io sono un programmatore java..e nn sono esperto di c++...devo utilizzare qualke stl di c++...o mi devo creare un array di byte per conto mio?

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Per questo tipo di problemi e' preferibile usare elementi molto veloci.

    Il consiglio e' proprio quello di usare semplici buffer (array di byte, classici del C) per immagazzinare il valore e una apposita classe per gestire le operazioni con tale tipo di dato.

  7. #7
    Originariamente inviato da oregon
    Per questo tipo di problemi e' preferibile usare elementi molto veloci.

    Il consiglio e' proprio quello di usare semplici buffer (array di byte, classici del C) per immagazzinare il valore e una apposita classe per gestire le operazioni con tale tipo di dato.
    cioe quindi per esempio..se io ho un numero tipo 238388383838383.....lo posso memorizzare in un array di byte...ma poi nn sorge il problema della dimensione dell'array..cioe di quante dimensione n lo devo dikiarare l'array?

  8. #8
    Dato che programmi in C++, utilizza una std::string, ed elimini il problema alla radice.
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Fai un passo indietro ... hai definito le caratteristiche della libreria?

    Ovvero ... i valori (per quanto big ...) non potranno mai avere un numero di cifre "infinito" ...

    Quindi devi comunque gestire un "massimo" numero di cifre ...

    Se utilizzi le string di C++ (vedi Samuele) puoi risolvere piu' semplicemente il problema ma non puoi "ottimizzare" il tutto perche' non puoi intervenire sul codice con cui sono implementate le string.

    La cosa ottimale, ma piu' lunga e complessa (dato che la tua e' una libreria) e' creare da zero un nuovo tipo di oggetto (bignumber ad esempio) che provveda ad allocare/deallocare/modificare la memoria che gli serve e gestire il valore associato (con i relativi operatori somma, sottrazione ... ecc...)

  10. #10
    grazie ragazzi delal vostra collaborazione..davvero molto utile.....credo che le stringhe siano la cosa piu' adatta....poii io siccomne abituato alle api di java..dove ci sono tutte le classi utilizzabili definite dal linguaggio..dove posso trovare qualcosa di simile per c++?

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.