タイトル |
: Re^7: SQRの単精度と倍精度の表示検証ソース |
投稿日 | : 2024/04/15(月) 01:15 |
投稿者 | : konno
|
番 号 | : 11219 11218 番 としき さんへのコメント コメント数 1 |
> NP2と他のエミュで差が出る、というところは一つの突破口かも。
> 少なくともNP2以外のエミュは仕様どおりではないということで、バグ報告は可能
> だと思います。おそらく、四捨五入するときの桁数を誤っていると想定されます。
> 仕様上は、有効桁7桁、出力のときは7桁目が四捨五入されて6桁で表示、という
> ことになっているのですから。
もしかしたら誤解させてしまったかもしれません。
他のエミュとは、98エミュ以外の、J31とかDOS/V系のエミュのことです。
今回 NP2以外の98エミュは確認していません。同じ結果になると思ったので。
ということで、ANEX86 や T98-NEXT のN88コンパイラ、インタプリタでも確認しました。
結果は NP2と 表示は全く同じでした。
> どうも、本来は7桁以上は格納してはいけないものを7桁以上格納している、その上
> 7桁以上で比較してはいけないものを7桁以上で比較している、というように見える
> わけですよ。
これが実際どうなのかはわかりませんが、BASICのルーツは MSのGW-BASICだと思います。
T-BASICなどは漢字処理を覗けば恐らくほとんどそのままの互換性だと思っているのですが
NECのN88BASICは、あちこち変えているようですが、単精度の精度もわざと落としているように見えます。
その辺がエミュでの誤動作の原因になっているのではないかと愚考します。
> konnoさんは、例えばバルーンパンチなんてゲームを覚えておられませんかね。
> シーソーに乗った人が交互にジャンプして上のほうで動いている風船を割っていく、
> というゲームです。
私はこの手のゲームはあまりやっていないので覚えていません。
> ときどき、当たり判定がバグっているゲームというのが話題になることがありますが、
> あれっていうのはもしかしたら、小数と整数の比較の際の誤差の問題かも。そして、
> 実機だと正常に動いていたのにエミュだとおかしい、というゲームなどがあった場合、
> それこそこのような小数の誤差の可能性は高いかも。
今回のことを踏まえるとそう考えられますね。
> もちろん、倍精度を使えば誤差は少なくなりますが、リアルタイムの計算の場合、
> 倍精度だとやっぱり重くなるので、たいていは単精度を使うでしょうし。
N88BASICは8ビット時代の互換性重視ではないかと思いますが、8ビットの貧弱なCPUで
ゲームの速度を上げるためにわざと単精度の桁を落としたのではないかと思います。
そして、16ビット版になっても互換性のためにそこを変えることが出来なかったのかも。
- No.11219 一括表示へ -
コメント元:11218 一括表示へ -
[ 返信 ] [引用無し] 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
- 返信フォーム
(この記事に返信する場合は下記フォームから投稿して下さい) [引用無し]
[ページトップへ] [管理用]