人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

あるプログラムをBASICからVB.NETへ移植しているのですが、Double型などの小数の誤差に困っています。BASICでの計算結果は小数何位から丸められるなどの、参考になる資料やページがありましたら教えていただけませんか?

●質問者: lains_you
●カテゴリ:コンピュータ
✍キーワード:BASIC DOUBLE VB.NET プログラム 丸め
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● Beirii
●100ポイント

http://www3.plala.or.jp/bountyhunter/lesson02.html

実数型の有効桁数ですが、単精度で7桁、倍精度で16桁くらいと考えていいそうです。

#有効桁数ですので、小数何位という表現ではないところご注意ください。


ちなみに、

http://www.orange.ne.jp/~kibita/n88/chap3.html

3.3.数値型のところに、『N88BASICでは,整数型と実数型(単・倍精度)があります。記号(%,!,#)を省略した場合は単精度実数型です。』とあります。

即ち、N88BASICの場合は変数名の最後に#がついていない変数はSingle型(単精度)となるそうですが、この辺は大丈夫でしたでしょうか?

#もちろん知ってるよ!と言う場合はゴメンナサイ><


なお、1つ目のサイトのBASICは厳密には『N88互換BASIC for Windows95』となっており、このBASICでは#がついていない場合は倍精度なのだそうです。


また、元のプログラムで使用したBASICがN88BASIC(およびN88互換BASIC for Windows95)以外の場合は、必ずしも上記のような仕様でははい可能性もあります。

元のプログラムで使用したBASICについて詳しい情報を教えていただければ、ピンポイントな回答が得られる場合もあると思いますのでご一考ください。

◎質問者からの返答

小数を含む#付きDouble型変数を引数としてInt関数を呼び出した際、何故か小数第一位で四捨五入もしくは繰り上げになっていたため、質問させていただきました。

BASICのデバッグ環境がないため、詰まっています。とりあえずVB.NET側の変数をDecimal型にしたところ、同じ値となることはわかりましたが、いまだ理由が理解できません。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ