non riesco a capire perché questoRiguardo tipo float precisione
float f = Integer.MAX_VALUE;
System.out.println(Integer.MAX_VALUE);
System.out.println((int)f);
produce le stesse linee,
Come pure perché questo fa
Float f2 = (float) Integer.MAX_VALUE;
System.out.println(Integer.MAX_VALUE);
System.out.println(f2.intValue());
intendo, lunghezza mantissa per il galleggiamento il numero del punto è 2^23-1
. Come fa a mantenere max_value di numero intero, che è 2^31 - 1
?
BTW Non utilizzare 'float' è possibile evitarlo. 'double' ti dà mezzo trilione di volte la precisione. Alcuni suggeriscono di usare BigDecimal (non è la mia preferenza comunque) –
Bene, questo esempio è solo per il gusto del campione. Non è un vero codice di vita. – dhblah
Vero, è possibile effettuare lo stesso confronto con Long.MAX_VALUE e doppio. –