スレを勃てるまでもないC/C++の質問はここで 25 [隔離病棟]©2ch.net (467レス)
上下前次1-新
抽出解除 レス栞
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
284(1): デフォルトの名無しさん [sage] 2018/01/27(土)15:18 ID:BU9rpSw9(5/9)
>>281
√3との比較対象となる計算結果も、floatなりdoubleなりを使う計算過程で桁落ちは発生するでしょ? そっちは問題ないの?
閾値となる√3の桁落ちだけが問題?
なんにしろ、√3みたいな無理数を扱う場合は、有効桁数何桁、少数点以下何桁まで考慮するという前提がないと、それを扱う型の精度も決められないし、それがデータ設計者の役目だと思うけど
290(1): デフォルトの名無しさん [sage] 2018/01/27(土)16:54 ID:EckHRazm(5/10)
>>288
元データは文字列で、最大で有効数字8桁くらいの10進数の小数点数です
それを単にstrtofで読みこんで、計算過程もずっとfloatです
ですけど読み込み時の誤差も含めて計算誤差は特に問題にしなくてもかまいません
それこそ計算誤差があるから仕方ないで押し通すこともできると思います
ですが、計算結果を2つのグループに分ける際に、実数の閾値に対して忠実でなければならないということです
>>284
閾値も計算の精度も32ビットのfloatで問題ないです
なので閾値となるfloat値を事前計算すれば、とりあえずは済みます
(ですが事後の変更に備えて、安全な方策がないものかと思い始めたわけです)
>>283
閾値は実行時に関数を呼び出して計算する必要はありません
単に計算機で求めた桁の多い数字を使って意図通りにfloatを初期化できれば問題は解決です
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.025s