ソラマメブログ
プロフィール
ぺんぎん
ぺんぎん
どもっす( ◎v◎ )
ぺんぎんっす。

「ぺんぎんさん」でいいっす。
「ぺんさん」でもOKっすよ。
何だって良いんっすけどね。
[個体名:Naoya Bellic]
(非商用)
読者登録
メールアドレスを入力して登録する事で、このブログの新着エントリーをメールでお届けいたします。解除は→こちら
現在の読者数 1人

2008年11月04日

煩悩の数だけループっす

ビッグぺんに動きつけてみたっす。
カクカクしてるっすけどね。
どうもぺんぎんっす( ◎v◎ )


今日は「1万回やってみました」を・・・
と行きたいトコなんっすけど、
floatについてちょっと調べてたっす。

まずは下のコードを見て欲しいっす。


///////////////////////////////////////////
The MIT Lisences
Copyright 2008 Naoya Bellic
///////////////////////////////////////////
default
{
  state_entry()
  {
    integer i;
    float x = 0.0;

    for(i=0;i<108;i++)
    {
      x += 0.1;
    }
    llSay(0,(string)x);
  }
}


0.1を108回加算してるだけっす。
10.800010ってSayされると思うっす。
ループが107回までは欲しい値が出るっす。

「無視できるほど小さい」んっすけど、
if文の中に入ってる場合だと都合が悪いかもっす。

なーんか気持ち悪いので原因を継続調査っす。
0.1を2進数で表すと、循環小数になるっす。
0.00011001100110011001100110011・・・(2)
仮数部は23bitsなので、丸められて
0.000110011001100110011001101
=1.10011001100110011001101 * 2^(-4)
ってなってるっす。


同じカテゴリー(スクリプト)の記事画像
位置判定っす
同じカテゴリー(スクリプト)の記事
 久しぶりの新関数っす (2011-04-23 23:19)
 11日(土)のオフィスアワーっす (2010-12-10 23:49)
 C#プロジェクトは凍結みたいっす (2010-07-01 22:35)
 4月24日のスクリプターズ・カフェっす (2010-04-27 19:06)
 潜入!1.38サーバーっす (2010-03-09 22:25)
 風の観測で分かったことっす (2009-08-16 22:11)

Posted by ぺんぎん at 22:41│Comments(0)スクリプト
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。