[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

RE: [OT]: come avere numeri maggiori di 2^31 in C?



From: "Premoli, Roberto" <roberto.premoli@pfizer.com>
To: "Debian mailing list" <debian-italian@lists.debian.org>
Subject: [OT]: come avere numeri maggiori di 2^31 in C?
Date: Fri, 9 Jun 2006 11:20:24 +0200


(tm)Ciao *

Premetto che sono un neofita del C.
Lavoro su una macchina x86.

I numeri interi usabili, di default, vanno da -2^31 a +2^31.

In un mio soft, ho necessita' di avere dei numeri (interi positivi) che
possano contenere numeri grandi piu grande di 2^31.

Ho provato a impostare a fare questa funzione

Int Moltiplica()
{
Long long 1 = 1;
int n;
for (n=0;n<35;n++)
   {
   i=i*2;
   printf("%d\n",i);
   }
return 0;
}

ma arrivato a 2^32 imposta un numero negativo e i successivi soni tutti
a zero: cosa devo fare per avere questi benedetti interi da 0 a (2^64)-1
?

grazie per l'aiuto.


beh se dichiari una variabile long ma poi nel ciclo ne usi una int stai da capo a tredici :-D

se non ricordo male dovresti dichiarare una variabile "long int" e poi prova ad usarla in quel loop ;-D
tipo:

long int num=1;
for (n=0;n<35;n++)
   {
   num=num*2;
   printf("%......\n",num);
   }

nel printf non so se va bene %d o il long int necessita di un altro "operatore" ....

al massimo puoi provare con un "long double" che occupa 8 bytes e con la keyword unsigned ;-) (con il double nel printf va %e)....


saluti!

_________________________________________________________________
Blocca le pop-up pubblicitarie con MSN Toolbar! http://toolbar.msn.it/



Reply to: