Go Down

Topic: Non riesco a venirne a capo (Read 3 times) previous topic - next topic

tonid

#30
Nov 11, 2012, 09:51 pm Last Edit: Nov 11, 2012, 10:04 pm by tonid Reason: 1
Quote
allora, se davanti a ora e oras metto 'int' da vera la fase giorno sia di giorno che di notte, se metto 'long' da vera la fase di notte sempre in entrambe i casi... tra un pò spacco tutto... è illogico!!!

Una variabile di tipo int non può contenere un valore di 45000,guarda quì
Quote
int

Description
Integers are your primary datatype for number storage, and store a 2 byte value. This yields a range of -32,768 to 32,767 (minimum value of -2^15 and a maximum value of (2^15) - 1).


edit. Quindi è normale che superato il suo massimo valore positivo ti dia poi un valore negativo

leo72

questo è vero.
Un int va da -32768 a +32767 mentre un unsigned int va da 0 a 65535, in entrambi i casi non arrivi al max numero di secondi di un giorno, 86400. Ti serve un long per forza.

tonid

Quote
long

Description
Long variables are extended size variables for number storage, and store 32 bits (4 bytes), from -2,147,483,648 to 2,147,483,647.

E' un po un spreco ma non credo sia possibile fare diversamente.....

Dandovino

si, ma vista la formula per portare hr min sec in secondi dovrei avere un valore, alle 22 avrò 79200, invece dà come risultato circa 13000, se aggiungo alla formula *2 mi dà naturalmente 26000 se provo *4 mi da 4268647983 che non c'entra nulla con 13000*4.

tonid

Quote
si, ma vista la formula per portare hr min sec in secondi dovrei avere un valore, alle 22 avrò 79200, invece dà come risultato circa 13000, se aggiungo alla formula *2 mi dà naturalmente 26000 se provo *4 mi da 4268647983 che non c'entra nulla con 13000*4.

E che variabile stai usando ?

Go Up