スレを勃てるまでもない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*