Funzione prodotto

di il
10 risposte

Funzione prodotto

Salve, come posso realizzare una funzione prodotto che sia capace di restituire un risultato che vada oltre i 300 miliardi?
Ho provato ad assegnare alla variabile prodotto il tipo unsigned long, però questo può solo contenere cifre che vanno da 0 a 4 miliardi.

10 Risposte

  • Re: Funzione prodotto

    Devi usare un intero a 64 bit. Un unsigned a 64 bit va da 0 a 18.446.744.073.709.551.615
  • Re: Funzione prodotto

    In alternativa dovrebbe esistere anche il long long int, che dovrebbe definire un nuovo tipo a 64bit
  • Re: Funzione prodotto

    E' quello che gli ho suggerito ... senza il segno, quindi un unsigned long long
  • Re: Funzione prodotto

    oregon ha scritto:


    E' quello che gli ho suggerito ... senza il segno, quindi un unsigned long long
    Capito, non me n'ero accorto
  • Re: Funzione prodotto

    Ho provato a stampare utilizzando lo specificatore di formato %llu, e ho ricevuto il seguente warning:
    "Unknown conversion type character 'l' in format [-Wformat=]"
    Serve una libreria apposita per le variabili a 64 bit?
  • Re: Funzione prodotto

    thomas99 ha scritto:


    Ho provato a stampare utilizzando lo specificatore di formato %llu, e ho ricevuto il seguente warning:
    "Unknown conversion type character 'l' in format [-Wformat=]"
    Serve una libreria apposita per le variabili a 64 bit?
    No, cioè non è necessario, ti abbiamo già detto che puoi usare un long long int, comunque puoi anche usare una libreria esterna se preferisci
  • Re: Funzione prodotto

    Ma infatti io ho utilizzato unsigned long long int, però ricevo un warning nella stampa
  • Re: Funzione prodotto

    thomas99 ha scritto:


    Ma infatti io ho utilizzato unsigned long long int, però ricevo un warning nella stampa
    ah scusami non avevo capito, penso dipendi dal compilatore (anche se non ci metto la mano nel fuoco, magari oregon ti saprà dire di più) comunque in alternativa puoi usare una libreria per la gestione degli interi
  • Re: Funzione prodotto

    Ho risolto usando lo specificatore di formato %I64u , %llu invece a quanto pare si usa su Linux.
    Grazie.
  • Re: Funzione prodotto

    thomas99 ha scritto:


    Ho risolto usando lo specificatore di formato %I64u , %llu invece a quanto pare si usa su Linux.
    Grazie.
    perfetto, figurati
Devi accedere o registrarti per scrivere nel forum
10 risposte