Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Overflow di un'operazione aritmetica
Forum - C# / VB.NET - Overflow di un'operazione aritmetica

Avatar
alpi39 (Normal User)
Pro


Messaggi: 63
Iscritto: 07/03/2008

Segnala al moderatore
Postato alle 1:47
Lunedì, 04/08/2008
Questo topic è stato chiuso dal moderatore

Buongiorno e salve a tutti.
Mi rivolgo ancora un volta al Forum sicuro che verrò aiutato a risolvere questo mio problema.
Ho due variabili:
Dim i as integer
Dim O as integer.
Nel corso del programma la variabile i acquista il valore di 3550380, mentre la Variabile O acquista il valore di 118346.
Quando, nel corso del programma c'è l'istruzione
i=i*O
che, utilizzando la calcolatrice installata sul computer, mi da come risultato 1.491.602.509.950.000
Immagino che, probabilmente si tratta di un numero tropo alto per essere gestito da una variabile integer, ma non so con quale altra istruzione farglielo accettare.
Il programma si blocca mostrandomi la riga evidenziata da un fondino giallo e una finestra che dice:
OverflowException non è stata gestita
e più in basso:
Overflow di un'operazione aritmetica.
Faccio presente, per chi non mi ha mai letto, che sto cercando di apprendere il VB.NET e che non mi sono mai trovato di fronte a questo errore.
Qualcuno può cortesemente aiutarmi?
Grazie in anticipo.
alpi39 (Alberto)

Ultima modifica effettuata da alpi39 il 04/08/2008 alle 2:04
PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 9:47
Lunedì, 04/08/2008
E' decisamente troppo alto. Gli Integer (o Int32) arrivano fino a circa 2 miliardi. Puoi usare un tipo Int64, che arriva fino a 9,2 miliardi di miliardi, oppure un Double, con capienza di più di di 10^324.

PM
Avatar
alpi39 (Normal User)
Pro


Messaggi: 63
Iscritto: 07/03/2008

Segnala al moderatore
Postato alle 19:10
Lunedì, 04/08/2008
Grazie infinite Totem.
Ho dimensionato la variabile "i" come tu mi hai consigliato e cioè
Dim i As int64
e tutto funziona.
Grazie
alpi39 (Alberto)
:k:

PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 11:57
Martedì, 05/08/2008
Perfetto :k:

PM