新しく質問する

mixiのレビュー機能、4.60≠4.59?

役に立った:0件
  • 質問者:elmsley
  • 投稿日時:2006/11/19 12:57
  • 困り度:暇なときに回答をください

ちょっと気になっただけなのですが、気にし出すと止まらず…。

mixiユーザやプログラムの出来る方で、原因に心当たりが有りましたら教えて下さい。

mixiには、本やら映画やらに皆が1~5で点数を付けて、レビューする機能が有ります。
また、各人の点数を平均した「平均満足度」もx.xxの形で表示されるのですが、

50人の合計が230点となる場合("お笑い 男の星座2 私情最強編"等)や、
10人の合計が46点となる場合("改訂第2版 Java言語プログラミングレッスン (上)" 等)、
5人の合計が23点となる場合("Java言語で学ぶデザインパターン入門 マルチスレッド編" 等)などに

平均満足度が4.60となる筈なのに、4.59と表示されます。
4.80や4.40や3.60など、他の場合にはちゃんとキリのいい平均になります。

裏で何が起こっているのか、気になってしょうがありません。
何か、有名な除算のバグとかそういうのが有るのでしょうか?

この質問への回答は締め切られました。
このQ&Aは役に立ちましたか?(役に立った:0件)
  • 参考になった:0件

No.1ベストアンサー20pt

  • 回答者:notnot
  • 回答日時:2006/11/19 14:41

コンピュータで主に使われている2進数では2のべき乗の和の数値しか表現できません。0.1 や 0.01 は2のべき乗の和で表されないため正確に表現できません。
そのため、小数点以下の数値を扱うのはプログラム側で工夫が必要になりますが、工夫をしていなかったり、足りなかったりすると計算誤差が出ます。

通報する

この回答へのお礼

なるほど!

ということは…と思い、調べてみると
4.10→4.09 ○
4.30→4.30 ○
3.10→3.10 ○
となっていました。

整数部込みで、10桁の2進数で表現されている…のでしょうね。
大変スッキリしました。ありがとうございます。

  
このQ&Aは役に立ちましたか?(役に立った:0件)

このページのトップへ