今日のテーマ   日々改造 (^_^;)         
[記事リスト(ツリー表示)]  [ 返信 ]   [新着記事] [最新50] [ワード検索] [過去ログ]

タイトル Re^6: SQRの単精度と倍精度の表示検証ソース
投稿日: 2024/04/14(日) 12:14
投稿者としき
参照先http://toshiki.la.coocan.jp/
 番 号 11218    11216 番 konno さんへのコメント    コメント数 1

> NP2でやってみた結果です。
> 他のエミュの結果は全て以下の数値でした。
> 表示は全く同じなので、おかしくないということですね。(違う!)

NP2と他のエミュで差が出る、というところは一つの突破口かも。
少なくともNP2以外のエミュは仕様どおりではないということで、バグ報告は可能
だと思います。おそらく、四捨五入するときの桁数を誤っていると想定されます。
仕様上は、有効桁7桁、出力のときは7桁目が四捨五入されて6桁で表示、という
ことになっているのですから。
なので、以後は、NP2と実機の差異をどうするか。
どうも、本来は7桁以上は格納してはいけないものを7桁以上格納している、その上
7桁以上で比較してはいけないものを7桁以上で比較している、というように見える
わけですよ。
print usingを使う以外に、何かいい方法はあるかなぁ。


実際、この程度の小数の誤差がどの程度影響するかはわかりませんがね。
でも、もしかしたら、昔からゲームなんかでも使われている可能性はあるわけで。
konnoさんは、例えばバルーンパンチなんてゲームを覚えておられませんかね。
シーソーに乗った人が交互にジャンプして上のほうで動いている風船を割っていく、
というゲームです。
このゲームで飛んでいる人間は、まるで重力で引かれるような感じで頂点に向かって
減速して、また落下するときは加速するわけです。このゲームに限らず、まるで重力
に引かれたような動きをする、だとか、慣性が働いているようになかなか加速しない
上に速度が乗ったらすぐには止まれない、といった動きをするようなゲームでは、
もしもそれなりに理論的なアルゴリズムを使うならば、物体の位置決定に二次関数を
使う必要があるわけです。実際に使っているアルゴリズムがどこまで理論的に正しい
ものになっているかはわかりませんけどね。
そして、二次関数を解くためにはSQR関数が必要。
あるいは、ゲームによっては三角関数を使っているものもあるかもしれない。
そして、画面のXとYの座標は当然整数。
ときどき、当たり判定がバグっているゲームというのが話題になることがありますが、
あれっていうのはもしかしたら、小数と整数の比較の際の誤差の問題かも。そして、
実機だと正常に動いていたのにエミュだとおかしい、というゲームなどがあった場合、
それこそこのような小数の誤差の可能性は高いかも。
もちろん、倍精度を使えば誤差は少なくなりますが、リアルタイムの計算の場合、
倍精度だとやっぱり重くなるので、たいていは単精度を使うでしょうし。

    - No.11218 一括表示へ   -   コメント元:11216 一括表示へ  -    [ 返信 ]    [引用無し] soft


- 関連一覧ツリー (先頭の番号をクリックするとツリー全体を一括表示します)
11135.TurboBasicで素数を表示カウントする PRIME2.EXE - konno 24/03/05-00:40
  ┣11137.Re: TurboBasicで素数を表示カウントする PRIME2.EXE - としき 24/03/05-13:22
  ┃┗11140.Re^2: TurboBasicで素数を表示カウントする PRIME2.EXE - konno 24/03/05-15:56
  ┃ ┗11147.Re^3: TurboBasicで素数を表示カウントする PRIME2.EXE - としき 24/03/07-02:18
  ┃  ┗11149.Re^4: TurboBasicで素数を表示カウントする PRIME2.EXE - konno 24/03/07-22:28
  ┃   ┗11160.Re^5: TurboBasicで素数を表示カウントする PRIME2.EXE - としき 24/03/12-12:32
  ┃    ┣11162.Re^6: TurboBasicで素数を表示カウントする PRIME2.EXE - konno 24/03/12-23:45
  ┃    ┗11164.Re^6: TurboBasicで素数を表示カウントする PRIME2.EXE - としき 24/03/17-17:26
  ┃     ┗11170.Re^7: TurboBasicで素数を表示カウントする PRIME2.EXE - としき 24/03/22-23:15
  ┃      ┗11172.Re^8: N88-BASICで素数を表示カウントする PRIME88.BAS - としき 24/03/24-15:59
  ┃       ┣11173.Re^9: N88-BASICで素数を表示カウントする PRIME88.BAS - konno 24/03/25-02:00
  ┃       ┃┣11174.Re^10: N88-BASICで素数を表示カウントする PRIME88.B.. - としき 24/03/25-23:13
  ┃       ┃┃┗11175.PRIME88.BAS で 「169=素数?」問題 - konno 24/03/26-20:11
  ┃       ┃┃ ┣11177.Re: PRIME88.BAS で 「169=素数?」問題解決か - konno 24/03/27-22:56
  ┃       ┃┃ ┗11192.Re: PRIME88.BAS で 「169=素数?」問題 - としき 24/04/05-02:07
  ┃       ┃┃  ┗11195.Re^2: PRIME88.BAS で 「169=素数?」問題 - konno 24/04/06-02:05
  ┃       ┃┃   ┣11198.Re^3: PRIME88.BAS で 「169=素数?」問題 - としき 24/04/06-11:27
  ┃       ┃┃   ┗11199.Re^3: PRIME88.BAS で 「169=素数?」問題 - としき 24/04/06-14:51
  ┃       ┃┃    ┗11200.Re^4: PRIME88.BAS で 「169=素数?」問題 - としき 24/04/06-23:09
  ┃       ┃┃     ┗11202.Re^5: PRIME88.BAS で 「169=素数?」問題 - としき 24/04/07-01:17
  ┃       ┃┃      ┗11203.Re^6: PRIME88.BAS で 「169=素数?」問題 - konno 24/04/07-20:41
  ┃       ┃┃       ┗11204.Re^7: PRIME88.BAS で 「169=素数?」問題 - konno 24/04/08-01:46
  ┃       ┃┃        ┗11205.Re^8: PRIME88.BAS で 「169=素数?」問題 - としき 24/04/08-12:28
  ┃       ┃┃         ┗11206.SQRの単精度と倍精度の表示検証ソース - konno 24/04/08-23:33
  ┃       ┃┃          ┗11207.Re: SQRの単精度と倍精度の表示検証ソース - としき 24/04/09-15:06
  ┃       ┃┃           ┗11208.Re^2: SQRの単精度と倍精度の表示検証ソ.. - konno 24/04/09-22:44
  ┃       ┃┃            ┗11209.Re^3: SQRの単精度と倍精度の表示検証ソ.. - としき 24/04/10-17:44
  ┃       ┃┃             ┣11210.Re^4: SQRの単精度と倍精度の表示検証.. - konno 24/04/10-21:56
  ┃       ┃┃             ┃┗11211.Re^5: SQRの単精度と倍精度の表示検証.. - としき 24/04/10-23:25
  ┃       ┃┃             ┃ ┗11213.Re^6: SQRの単精度と倍精度の表示検.. - konno 24/04/11-20:13
  ┃       ┃┃             ┗11215.Re^4: SQRの単精度と倍精度の表示検証.. - としき 24/04/13-01:13
  ┃       ┃┃              ┗11216.Re^5: SQRの単精度と倍精度の表示検証.. - konno 24/04/13-22:03
  ┃       ┃┃               ┗11218.Re^6: SQRの単精度と倍精度の表示検.. - としき 24/04/14-12:14
  ┃       ┃┃                ┗11219.Re^7: SQRの単精度と倍精度の表示検.. - konno 24/04/15-01:15
  ┃       ┃┃                 ┗11220.Re^8: SQRの単精度と倍精度の表示.. - としき 24/04/15-13:56
  ┃       ┃┃                  ┗11221.Re^9: SQRの単精度と倍精度の表示.. - konno 24/04/16-00:04
  ┃       ┃┃                   ┗11222.Re^10: SQRの単精度と倍精度の表.. - としき 24/04/16-12:22
  ┃       ┃┃                    ┗11223.Re^11: SQRの単精度と倍精度の.. - konno 24/04/16-23:58
  ┃       ┃┃                     ┗11224.Re^12: SQRの単精度と倍精度の.. - としき 24/04/17-02:14
  ┃       ┃┃                      ┗11225.Re^13: SQRの単精度と倍精度.. - konno 24/04/17-23:21
  ┃       ┃┣11176.Re^10: N88-BASICで素数を表示カウントする PRIME88.B.. - konno 24/03/27-00:26
  ┃       ┃┃┣11178.Re^11: N88-BASICで素数を表示カウントする PRIME88... - としき 24/03/28-00:43
  ┃       ┃┃┃┗11179.SQRの計算式 - konno 24/03/30-15:58
  ┃       ┃┃┃ ┗11180.Re: SQRの計算式 - としき 24/03/30-23:41
  ┃       ┃┃┃  ┗11184.Re^2: SQRの計算式 - konno 24/03/31-22:26
  ┃       ┃┃┗11182.Re^11: N88-BASICで素数を表示カウントする PRIME88... - としき 24/03/31-15:48
  ┃       ┃┗11181.Re^10: N88-BASICで素数を表示カウントする PRIME88.B.. - としき 24/03/31-14:09
  ┃       ┗11183.Re^9: N88-BASICで素数を表示カウントする PRIME88.BAS - としき 24/03/31-16:08
  ┃        ┗11185.Re^10: N88-BASICで素数を表示カウントする PRIME88.B.. - konno 24/04/01-00:27
  ┃         ┣11186.T98-NEXT でN88BASIC検証 - konno 24/04/02-00:16
  ┃         ┗11187.Re^11: N88-BASICで素数を表示カウントする PRIME88... - としき 24/04/03-16:20
  ┃          ┗11189.Re^12: N88-BASICで素数を表示カウントする PRIME88.. - konno 24/04/04-01:01
  ┃           ┗11191.Re^13: N88-BASICで素数を表示カウントする PRIME8.. - としき 24/04/04-12:15
  ┃            ┗11194.Re^14: N88-BASICで素数表示の問題 - konno 24/04/06-01:40
  ┃             ┗11197.Re^15: N88-BASICで素数表示の問題 - としき 24/04/06-11:26
  ┗11150.オリジナルの prime.bas のソース - konno 24/03/07-22:43
   ┗11156.Re: オリジナルの prime.bas のソース - としき 24/03/10-18:50
    ┣11158.Re^2: オリジナルの prime.bas のソース - konno 24/03/11-00:45
    ┃┗11159.Re^3: オリジナルの prime.bas のソース - としき 24/03/12-02:16
    ┃ ┗11161.MOD と ¥ の有効範囲 - konno 24/03/12-22:45
    ┃  ┗11165.Re: MOD と ¥ の有効範囲 - konno 24/03/18-00:36
    ┃   ┗11166.Re^2: MOD と ¥ の有効範囲 - としき 24/03/20-01:44
    ┃    ┗11167.Re^3: MOD と ¥ の有効範囲 - konno 24/03/21-00:00
    ┃     ┗11168.Re^4: MOD と ¥ の有効範囲 - としき 24/03/21-11:14
    ┃      ┗11171.Re^5: MOD と ¥ の有効範囲 - konno 24/03/24-00:08
    ┗11163.Re^2: オリジナルの prime.bas のソース - としき 24/03/17-17:09
     ┗11169.Re^3: オリジナルの prime.bas のソース - としき 24/03/22-23:02

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)   [引用無し]
おなまえ 
Eメール 
タイトル 
メッセージ auto soft pre(図表、プログラム) ※折り返さずに改行を入れてね
 参照先 
 暗証キー (英数字で8文字以内)
 プレビュー          

- 以下のフォームから自分の投稿記事を修正・削除することができます -
   処理   記事No   暗証キー
    [ページトップへ] [管理用]