Неверный результат Java Math.pow

Если вы попытаетесь запустить следующий код

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

, вы получите "51185893014090752 8"

Правильное значение 13^15равно 51185893014090757, то есть больше, чем результат, возвращенный Math.powby 5. Есть идеи, чем это может быть вызвано?

12
задан Olimpiu POP 18 February 2014 в 11:58
поделиться