このブログを検索

2014年10月9日木曜日

GARMIN Edge800のバグか?

僕のEdge800、なぜか積算距離が42949.7Km以上積算されない・・・。

一旦0Kmにリセットしたらちゃんと増えたし、42940.0Kmに設定してみたら、20Kmは走ったのに42949.7Kmで止まってた。更に42949.7を超える数字を設定してみたら、42949.7Kmに戻っていた。
5台分の設定ができるので、他にLOOKやMTBもあって、そちらはまだ42949.7Kmには程遠いので、普通に積算されていっている。

そこで、FacebookやTwitterで友達に尋ねてみたところ、@hajime_fp3と言う方が、返事をくれて、2の32乗が
4,294,967,296

仮に800の内部積算距離がcm単位だとすると42949.7Kmは
4,294,970,000cm

むむむ・・・、となりませんか?

そう、内部メモリーが32bitでcmで保持していると32bitの最大値を超えて桁あふれが起きている可能性大なのです。

でも、ちょっと待てよ、4,294,967,296 < 4,294,970,000cm
なので、最大値以上になっているじゃん、と思われるけど、これは恐らく、表示時にKm単位に換算しているので、
42,949.67296Km
の小数点第二位を四捨五入しているものと思われます。表示だけなら32bit制限は関係ないので。

これは、あくまでも状況からの推測と推論ではあり、なぜ「cm」なの?と言う疑問が残りますが、コンピュータの世界では、ありがちなバグなので、いい線行っているのではないかと思われます。

この事はGARMINに問い合わせてみようと思います。(USなので英訳が最大の難関ですが・・・)
経過は追って報告したいと思います。

0 件のコメント:

コメントを投稿