long?

long? - Java - Programmation

Marsh Posté le 31-10-2003 à 05:32:22    

avec ce code:
 
public void genererTableau(long a[]){
    long rang=4294967296;  //rang  
    Random r1 = new Random();
    for (int i=0;i<tab.length;i++){
      a[i] = (long) (r1.nextDouble()*rang);
    }
}
 
j'obtient l'erreur:
 
x.java:61: integer number too large: 4294967296
    long rang=4294967296;  //rang
              ^
1 error
 
rendu à 1:00am je sais pas pourquoi j'ai cette erreur là...


Message édité par os2 le 31-10-2003 à 06:43:07

---------------
Borland rulez: http://pages.infinit.net/borland
Reply

Marsh Posté le 31-10-2003 à 05:32:22   

Reply

Marsh Posté le 31-10-2003 à 07:18:07    

Faut croire que les long sont 32 bits...

Reply

Marsh Posté le 31-10-2003 à 07:22:29    

Il va falloir utiliser la classe BigInteger.


Message édité par Cherrytree le 31-10-2003 à 07:22:44

---------------
Le site de ma maman
Reply

Marsh Posté le 31-10-2003 à 08:35:34    

long rang=4294967296l;  //rang
 
Marche mieux ;)
 
Les long sont sur 64 bits en java.


Message édité par LetoII le 31-10-2003 à 08:36:19

---------------
Le Tyran
Reply

Marsh Posté le 31-10-2003 à 09:38:32    

Matafan a écrit :

Faut croire que les long sont 32 bits...


Comme l'a déjà dit LetoII, les longs en Java sont sur 64 bits. Par contre, les litéraux entiers sont a priori des ints, donc sur 32 bits. Voilà pourquoi dans ton cas, tu dois préciser que ton litéral est un long et non un int.

Reply

Marsh Posté le 31-10-2003 à 09:53:43    

Cherrytree a écrit :

Il va falloir utiliser la classe BigInteger.


 
pas elle [:totoz]


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

Marsh Posté le 31-10-2003 à 16:25:55    

LetoII a écrit :

long rang=4294967296l;  //rang
 
Marche mieux ;)
 
Les long sont sur 64 bits en java.


quand même bizarre qu'il faut ajouter l...


---------------
Borland rulez: http://pages.infinit.net/borland
Reply

Marsh Posté le 31-10-2003 à 16:36:07    

os2 a écrit :


quand même bizarre qu'il faut ajouter l...


 
Ben non, comme ça a été expliqué c'est considéré comme un int à moi que tu dise explicitement que c'est un long  [:spamafote]


---------------
Le Tyran
Reply

Marsh Posté le 04-11-2003 à 11:16:03    

os2 a écrit :


quand même bizarre qu'il faut ajouter l...


Tu lis les réponses qu'on te donne, des fois ?  :??:

Reply

Marsh Posté le 04-11-2003 à 11:16:48    

os2 c'est un champion :o


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

Marsh Posté le 04-11-2003 à 11:16:48   

Reply

Marsh Posté le 04-11-2003 à 11:39:00    

os2 mon idole :o


---------------
Le site de ma maman
Reply

Marsh Posté le 04-11-2003 à 11:43:25    

je le prendrais bien comme boulay [:meganne]
c'est un bon !


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 04-11-2003 à 12:00:17    

LetoII a écrit :


 
Ben non, comme ça a été expliqué c'est considéré comme un int à moi que tu dise explicitement que c'est un long  [:spamafote]  

Pourquoi ne pas avoir ajouté une règle de promotion automatique sur les constantes litérales ??


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 05-11-2003 à 10:44:44    

Bonne question. Ben fais une JSR... :o

Reply

Marsh Posté le 05-11-2003 à 21:51:36    

nraynaud a écrit :

Pourquoi ne pas avoir ajouté une règle de promotion automatique sur les constantes litérales ??


 
 [:spamafote]


---------------
Le Tyran
Reply

Sujets relatifs:

Leave a Replay

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