long? - Java - Programmation
Marsh Posté le 31-10-2003 à 07:22:29
Il va falloir utiliser la classe BigInteger.
Marsh Posté le 31-10-2003 à 08:35:34
long rang=4294967296l; //rang
Marche mieux
Les long sont sur 64 bits en java.
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.
Marsh Posté le 31-10-2003 à 09:53:43
Cherrytree a écrit : Il va falloir utiliser la classe BigInteger. |
pas elle
Marsh Posté le 31-10-2003 à 16:25:55
LetoII a écrit : long rang=4294967296l; //rang |
quand même bizarre qu'il faut ajouter l...
Marsh Posté le 31-10-2003 à 16:36:07
os2 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
Marsh Posté le 04-11-2003 à 11:16:03
os2 a écrit : |
Tu lis les réponses qu'on te donne, des fois ?
Marsh Posté le 04-11-2003 à 11:16:48
os2 c'est un champion
Marsh Posté le 04-11-2003 à 11:43:25
ReplyMarsh Posté le 04-11-2003 à 12:00:17
LetoII a écrit : |
Pourquoi ne pas avoir ajouté une règle de promotion automatique sur les constantes litérales ??
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 ?? |
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