これはおそらく重複しているため閉鎖されますが、ちょうどその一つは、これが出て演じているかを確認することができます
>>> import math
>>> math.log(8)
2.0794415416798357
>>> math.log(2)
0.6931471805599453
さて、あなたはmath.log(8) % math.log(2)
を計算する必要があるとしましょう。 math.log(2)
をmath.log(8)
に分けて余りを計算する必要があります。見てみよう、それは3回になるのだろうか?
0.6931471805599453
+ 0.6931471805599453
+ 0.6931471805599453
--------------------
2.0794415416798359
Woah!
0.6931471805599453
+ 0.6931471805599453
--------------------
1.3862943611198906
わかりましたので、残りは何です:私たちは、それは、実際には2つの時代に行く意味2.0794415416798357の値をオーバーシュート?
2.0794415416798359
- 1.3862943611198906
--------------------
0.6931471805599453
したがってTL; DRの残りは、丸め誤差のためmath.log(2)
に近いです。それはちょうど3回は行きません。それはちょうど約math.log(2)
を残して2回になる。
はい数値を印刷すると3.0
と表示されますが、これは浮動小数点の丸め誤差です。これはPython固有のものではありません。
これは役に立ちますか? https://stackoverflow.com/questions/14763722/python-modulo-on-floats –
あなたは%が2番目の演算子である0.69314718056の同じ値を返すことに気付きましたか? a%b = b ... lol – mlwn
@mlwnはい、私は何を考えたらいいかわかりません。 – Caramelleamare