スレを勃てるまでもないC/C++の質問はここで 25 [隔離病棟]©2ch.net (467レス)
上下前次1-新
抽出解除 レス栞
298(1): 2018/01/27(土)18:28 ID:EckHRazm(6/10) AAS
>>291
はい、それで問題ありません
上であげた√3の例は計算機で出してfloatには十分だと思える桁数で切っているだけです
入力データや計算誤差自体には許容的です
>>294
閾値の数は文字列から取得するわけではありません
ソースコード中のリテラル値として与えられるもので構いません
求めるものは、単純化して言うと
プログラム上のあるfloat値が、数学的な意味での実数X未満であるかそうでないかのbool値になります
>>297
10進数表記可能な数ということになります
たとえば√3も関数電卓などで求めた値で十分(20桁もあればfloatには十分すぎるだろう)という意味です
299(1): 2018/01/27(土)19:52 ID:BU9rpSw9(8/9) AAS
>>298
floatの有効桁数は7桁だから
float x=1.7320508075688;
とするんじゃなくて、
float x = 1.732051;
とするしかないでしょ
それが嫌なら、もっと精度の高いdoubleを使うようにして
double x = 1.7320508075688;
として、これを閾値とすればいい
そして、そのことを予め顧客に確認しておけばいい
扱うデータの桁数を予め決めておくことは設計時の重要事項でしょ
何も問題は無いと思うけど、何を悩んでるのか分からない。
もし無理数を無理数のまま無制限の精度で扱いたいなら、もうそういうライブラリを使うしかない
あるのか知らんけど
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.912s*