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
Jake7zDunn (Normal User)
Rookie


Messaggi: 30
Iscritto: 24/07/2012

Segnala al moderatore
Postato alle 16:51
Giovedė, 13/09/2012
ho questo codice con nuovadimensione = 21614592 e length = 378602720
Codice sorgente - presumibilmente C# / VB.NET

  1. Dim percentage As Long = (nuovadimensione * 100) / length



perchč mi da' overflow????:grr:

PM Quote
Avatar
tasx (Dev Team)
Expert


Messaggi: 439
Iscritto: 15/12/2008

Segnala al moderatore
Postato alle 17:43
Giovedė, 13/09/2012
Ciao, fai il cast di nuova dimensione come long(immagino sia int, giusto?)

ciaociao!!

PM Quote
Avatar
ampeg (Normal User)
Pro


Messaggi: 124
Iscritto: 21/04/2011

Segnala al moderatore
Postato alle 19:35
Giovedė, 13/09/2012
puio fare in due modi

    Dim cento As Long = 100
    Dim percentage As Long = (nuovadimensione * cento) / lenght

oppure metti il simbolo "L" dopo 100 per indicare che il valore 100 č tipo long

    Dim percentage As Long = (nuovadimensione * 100L) / lenght


l'overflow viene dato poichč il compilatore sui numeri interi, se non specificato il tipo, assegna il tipo pių prossimo nel caso di 100 assegna int32 ed esegue il calcolo in funzione di questo

Ultima modifica effettuata da ampeg il 13/09/2012 alle 19:49
PM Quote
Avatar
Jake7zDunn (Normal User)
Rookie


Messaggi: 30
Iscritto: 24/07/2012

Segnala al moderatore
Postato alle 21:35
Giovedė, 13/09/2012
Grazie ho risolto con Dim percentage As Long = (nuovadimensione * 100L) / length :)

PM Quote