Entiendo que la teoría de los números binarios, por lo que la operación de los números dobles no es precisa. Sin embargo, en Java, no tengo idea de por qué "(doble) 65/100" es 0,65 , que es completamente correcto en número decimal, aparte de 0,6500000000004 .
double a = 5; double b = 4.35; int c = 65; int d = 100; System.out.println(a - b); // 0.6500000000000004 System.out.println((double) c / d); // 0.65