Resultado incorrecto de Java Math.pow

Si intentas ejecutar el siguiente código

public class Main {
   public static void main(String[] args) {
       long a = (long)Math.pow(13, 15);
       System.out.println(a + " " + a%13);
   }
}

Obtendrá "51185893014090752 8"

El valor correcto de 13 ^ 15 es 51185893014090757, es decir, mayor que el resultado devuelto porMath.pow por5. ¿Alguna idea de lo que puede causarlo?

Respuestas a la pregunta(12)

Su respuesta a la pregunta