2015-07-16 14 views
0

При написании метода в java я заметил, что эти две функции возвращают одно и то же значение.Java-нотация для/variable/

// Riemann-Siegel theta function using the approximation by the Stirling series 
public static double theta (double t) { 
return (t/2.0 * StrictMath.log(t/2.0/StrictMath.PI) - t/2.0 
    - StrictMath.PI/8.0 + 1.0/48.0/t + 7.0/5760.0/t/t/t); 
} 

// Riemann-Siegel theta function using the approximation by the Stirling series 
public static double theta2 (double t) { 
return (t/2.0 * Math.log(t/(2.0*Math.PI)) - t/2.0 
    - Math.PI/8.0 + 1.0/(48.0*Math.pow(t, 1)) + 7.0/(5760*Math.pow(t, 3))); 
} 

Что

7.0/5760.0/t/t/t 

делать? Почему это то же самое, что 7.0/(5760 * t^3)?

+2

Если у меня есть '8/2/2/2', это как' 4/2/2', что равно '2/2', что равно 1. Если у меня есть' 8/2^3', это как '8/8', который равен 1 (учтите, что'^'не является оператором Java для power-of). Это математический вопрос. –

+0

[Или, скорее, '/' - просто оператор деления.] (Http://docs.oracle.com/javase/specs/jls/se8/html/jls-15.html#jls-15.17.2) –

ответ

0

выражение 7.0/5760.0/t1/t2/t3 будет вычислено из L-R. как-

r=(7.0/5760.0) 
r1=(result/t1) 
r2=(r1/t2) 
r3=(r2/t3) 

и r3 ваш конечный результат

, если у вас есть выражение, как 8/2*2*2 она будет рассчитываться как же я уже объяснял ранее, но в 8/2*(2*2) выражении (2*2) будет рассчитываться первым, потому что perathesis имеет более высокую приоритет затем /. это также aplly в случае math.pow() функция, потому что функции также имеют более высокий приоритет операторов.