念のため計算機イプシロンを算出してみる:Re

by Nos_lkSsvOhB
念のため…。
まぁ、変わらないですね…。
♥0 | Line 76 | Modified 2011-12-31 22:39:07 | MIT License
play

ActionScript3 source code

/**
 * Copyright Nos_lkSsvOhB ( http://wonderfl.net/user/Nos_lkSsvOhB )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/97w3
 */

package {
    import flash.display.Sprite;
    import flash.text.TextField;
   
    //前にもあった気がしたんで、参考に作ってみました。
    //AS3.0さわるの実質初めてです…よくわからんかった…
    public class main extends Sprite {
        public var EPS : Number = Math.pow(10,-16);
                   
        public function main(){
            var _text:TextField = new TextField();
            _text.x=30;
            _text.y=60;
            addChild(_text);
            var _text2:TextField = new TextField();
            _text2.x=30;
            _text2.y=80;
            addChild(_text2);
            var _text3:TextField = new TextField();
            _text3.width=400;
            _text3.height=18;
            _text3.x=30;
            _text3.y=100;
            addChild(_text3);
            var _text4:TextField = new TextField();
            _text4.x=30;
            _text4.y=120;
            _text4.width=400;
            _text4.height=18;
            addChild(_text4);
            var _text5:TextField = new TextField();
            _text5.x=30;
            _text5.y=140;
            addChild(_text5);
            var _text6:TextField = new TextField();
            _text6.x=30;
            _text6.y=160;
            _text6.width=400;
            _text6.height=18;
            addChild(_text6);
            var _text7:TextField = new TextField();
            _text7.x=30;
            _text7.y=180;
            _text7.width=400;
            _text7.height=18;
            addChild(_text7);
            
            var i :  Number = 0;
               while(1){
                var e : * = Math.pow(10,-i);
                 if(1.0+e==1.0){
                  _text.text="10^-" + i + "=" + e;
                  _text2.text = "EPS=" + e;
                  i=0;
                  break;
                 }
                 i++;
               }
               while(1){
                var g : * = Math.pow(4,-i);
                 if(1.0+g==1.0){
                  _text3.text="4^-" + i + "=" + g;
                  _text4.text = "EPS=" + g;
                  i=0;
                  break;
                 }
                 i++;
               }
                while(1){
                  var f:Number=1+Math.pow(2,-i);
                  if(f==1){
                       _text5.text="1+2^-"+ i + "=" + f;
                       _text6.text=" EPS=" + Math.pow(2,-i);
                       i=0;
                       break;
                  }
                 i++;
               }
//           _text7.text="Test:2^-57=" + Math.pow(2,-57);
           }
      }
}

Forked