Kayan nokta ile php hassas - karmaşık denklemi = 1

2 Cevap php

Aşağıdaki formüle sahiptir

1 - ((.5 * 0,83333333333333) ^ 2 + (.5 * 0,83333333333333) ^ 2 + (.5 * (1-0,83333333333333)) ^ 2 + (.5 * (1-0,83333333333333)) ^ 2)

.63 Aksine PHP5, bu (iki makine, OSX ve Centos üzerine) 1 bir cevap sonuçlanır. Ben böyle denklemler yapmak için Php bc matematik fonksiyonlarını kullanarak sadece olmalıdır?

2 Cevap

Ben belki yerine xor operator (^) :) pow() kullanılarak gerektiğini düşünüyorum

Gerçekten bir denklem, ama vericidir semantik. Ayrıca, sana xor demek şüphe, bu yüzden ne istediğinizi değil kabul edeceğiz. Neyse, rasyonel aritmetik kullanabilirim?

0,83333 (3 yinelenen ondalık olduğunu varsayarak) bir kısmını dönüştürülebilir:

 83.3333333 = 100x
  8.3333333 = 10x
 -----------------
         75 = 90x
     x = 75 / 90 = 0.83333...

Sadece tamsayılar ile uğraşan ve emin bir yol gibi uzun zamandan beri hem taşma yok gibi (öncesinde ve operasyonlardan sonra OBEB azaltabilirsiniz) o zaman iyi olmalıdır.