魔術師の巣窟(仮)
趣味のゲーム製作サイトです。 そのうちHPを作ると思いますので、ここは仮住まいです。
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
平方根
ここの記事を読みまして、改めて平方根があった方がいいなぁと思った今日この頃です。
しかし言ってるだけじゃどうしようもないので作ってみる。
既にたしか作っている方がいた気がしますが、気にせずに作ってみます。コンセプトは、なるべく処理数を少なく。
その気になれば多分9桁までなら求めることもできますが、3桁にします。√2なら1.41までです。ゲーム内の物理演算なら、それくらいで十分でしょう。よっぽど正確な値が必要でない限り。

引数はセルフ0:ルートの中身で、V9-0/V9-1の形で返ります。

V9[1]=1
cself[11]=1
条件分岐:cself[0]>=1
|ループ開始
||条件分岐:cself[0]>=1000000
|||ループ中断
||分岐終了
||cself[0]*=100
||V9[1]*=10
|ループここまで
|ループ開始
||条件分岐:cself[0]<100000000
|||ループ中断
||分岐終了
||cself[0]/=100
||cself[11]*=10
|ループここまで
|cself[10]=1000
|V9[0]=1000
|ループ開始
||cself[12]=V9[0]*V9[0]
||条件分岐:cself[12]>cself[0]
|||V9[0]-=cself[10]
|||cself[10]/=10
|||条件分岐:cself[10]=1
||||ループ中断
|||分岐終了
|||ループ開始へ戻る
||分岐終了
||V9[0]+=cself[10]
|ループここまで
上記以外
|V9[0]=0
|V9[1]=1
分岐終了
V9[0]*=cself[11]
条件分岐:V9[1]>=10
|V9[0]~V9[1]/=10
分岐終了
スポンサーサイト
コメント
この記事へのコメント
おー、無駄のない計算!!
勉強のため、合間合間に文章表示で計算の流れを読んだりしてしまいました。
僕も前に平方根作ったんですけど、面倒臭かったので開平法でやっちまったんですよね。あれは処理の多さにかけては負ける気がしません。(・・・)

座標倍率くらいはコモンの中で出した方が安全だと思いますが、やっぱり戻り値の変数が統一されてると便利ですよねぇ。
今後何か作って遊ぶ時があったら、v9-0に合わせておきます。
2008/11/24 (月) 19:51:08 | URL | 藤田 #1wIl0x2Y[ 編集]
古いネタですいません
ぶほっ
す、すごい。すごすぎて何がなんだかわかりません!

まてよ!
こいつは…… 思い出したぜ!
ある値が与えられた時、自乗してもとの値となるような新たな値の話を聞いたことがある……
二乗根、自乗根とかいう……
2008/11/24 (月) 23:02:45 | URL | P #mQop/nM.[ 編集]
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
この記事へのトラックバック
copyright © 2005 魔術師の巣窟(仮) all rights reserved.
Powered by FC2ブログ.
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。