Questo sito si serve dei cookie per fornire servizi. Utilizzando questo sito acconsenti all'utilizzo dei cookie - Maggiori Informazioni - Acconsento
Atik
Coelum Astronomia
L'ultimo numero uscito
Leggi Coelum
Ora è gratis!
AstroShop
Lo Shop di Astronomia
Photo-Coelum
Inserisci le tue foto
DVD Hawaiian Starlight
Skypoint

Vai indietro   Coelestis - Il Forum Italiano di Astronomia > Il Mondo dell'Astronomo dilettante > Rudi Mathematici
Registrazione Regolamento FAQ Lista utenti Calendario Cerca Messaggi odierni Segna come letti

Rispondi
 
Strumenti della discussione Modalità  di visualizzazione
Vecchio 27-02-22, 11:06   #1
astromauh
Utente Super
 
L'avatar di astromauh
 
Data di registrazione: Sep 2007
Messaggi: 4,802
Predefinito 86400 * 25568

<%

Dim n as double
Dim x as double

x = 25568

n = 86400 * x

'''QUESTO VA BENE
response.write(x &" * " & 86400 &" = ")
response.write(formatnumber(n,0) &"<br>")

''''QUESTO NO
n = 86400 * 25568
response.write(formatnumber(n,0) &"<br>")

%>

Mi succede una cosa strana, se provo a fare la moltiplicazione 86400 * 25568 sul server che ospita il mio sito, viene generato un errore e la pagina non si apre.

Se invece uso l'accorgimento di attribuire ad una variabile il valore 25568 la moltiplicazione viene eseguita normalmente.

Ancora non ho provato a vedere cosa succede in locale, ossia nell'ambiente che simula il funzionamento di un server sul PC.

Provate a googlare: 'excel leap year bug'

L'errore che riscontro forse ha a che fare con questo, perché l'operazione riguarda gli anni. Infatti 86400 sono i secondi di un giorno, e 25568 indica il primo gennaio 1970 che segue di 25568 giorni il primo gennaio del 1900.
Solo che io non ho usato excel e non ho veramente utilizzato giorni o anni, ma ho semplicemente cercato di fare una moltiplicazione.


__________________
www.Astrionline.it
Astromauh <a href=http://www.trekportal.it/coelestis/images/icons/icon10.gif target=_blank>http://www.trekportal.it/coelestis/i...ons/icon10.gif</a>

Ultima modifica di astromauh : 27-02-22 11:18.
astromauh non in linea   Rispondi citando
Vecchio 27-02-22, 16:12   #2
Mizarino
Utente Super
 
L'avatar di Mizarino
 
Data di registrazione: May 2004
Messaggi: 9,722
Predefinito Re: 86400 * 25568

Io come prima cosa proverei sul server a cambiare i numeri, e a vedere cosa succede a seconda del loro range.
L'unica peculiarità che vedo è nel risultato della tua operazione, che eccede il massimo "Long Integer" definibile, che è 2.147.483.647.
In un sistema poco flessibile, potrebbe succedere che l'operazione come tale assuma i numeri come interi, senza conversioni a floating point, e generi un overflow numerico.
Ma questo è da dimostrare facendo un'operazione con un fattore un po' più piccolo, es.
86400*24855 = 2.141.472.000

Mizarino non in linea   Rispondi citando
Links Sponsorizzati
Astrel Instruments
Rispondi


Links Sponsorizzati
Geoptik

Strumenti della discussione
Modalità  di visualizzazione

Regole di scrittura
Tu non puoi inserire i messaggi
Tu non puoi rispondere ai messaggi
Tu non puoi inviare gli allegati
Tu non puoi modificare i tuoi messaggi

codice vB è Attivo
smilies è Attivo
[IMG] il codice è Attivo
Il codice HTML è Disattivato


Tutti gli orari sono GMT. Attualmente sono le 23:51.


Powered by vBulletin versione 3.6.7
Copyright ©: 2000 - 2022, Jelsoft Enterprises Ltd.
Traduzione italiana a cura di: vBulletinItalia.it