[Java] Problème avec le type long

Problème avec le type long [Java] - Java - Programmation

Marsh Posté le 29-07-2004 à 16:13:07    

Bonjour,
 
est ce que quelqu'un pourrait m'expliquer ceci :
 

Code :
  1. long var1 = c.getTimeInMillis() ;
  2.     long var2 = 2147000000 + 1000000;
  3.     System.out.println("var1 : "+var1+" ----    var2 : "+var2) ;


me donne

var1 : 1091109790578 ----    var2 : -2146967296


 
Comment est-ce possible ???
Normalement le type primitif long est sur 64 bits (9223372036854775807) donc largemement suffisant...
Alors que dans le cas présent si je déclare ceci je me fais jeter par le compilo :

Code :
  1. long var2 = 2148000000


J'utilise Jdev et la jdk 1.4
 
Merci

Reply

Marsh Posté le 29-07-2004 à 16:13:07   

Reply

Marsh Posté le 29-07-2004 à 16:33:03    

Code :
  1. long var2 = 2147000000L + 1000000L;


 

Code :
  1. long var2 = 2148000000L


Message édité par darklord le 29-07-2004 à 16:33:39

---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 29-07-2004 à 16:45:28    

Oui j'ai trouvé ça.
Effectivement ca marche mieux.
Mais c'est quand même étonnant qu'en déclarant un type long le compilo essaie d'y mettre un int...
Je le saurais maintenant...
 
Merci :)

Reply

Marsh Posté le 29-07-2004 à 18:12:59    

T'es pas trés bon hop :)
Non je rigole...sinon ça va toi ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed