- 1 名前:デフォルトの名無しさん [2008/01/04(金) 14:25:44 ]
- 主にx86系で浮動小数点を扱う話題
- 101 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 10:16:03 ]
- プログラマに数学は必要かという問いに対して別にいらないんじゃね?と思っていたんだが・・・
- 102 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 11:46:35 ]
- >>97
馬鹿が居る。
- 103 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 11:50:25 ]
- >>97 制御ワードの12bit(INFINITY CONTROL)は8087では有効でございます
- 104 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 12:15:40 ]
- >>99
無理数
- 105 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 12:48:41 ]
- 80287と80287XLはパフォーマンスの向上以外には具体的にはどのような非互換性があるんだろう
- 106 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 12:55:52 ]
- 多倍長計算とBCD計算の違いについて教えてください
- 107 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 13:07:37 ]
- BCD は 1 桁を 0〜9 で扱う。
多倍長計算はそういう制限がない。
- 108 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 13:47:36 ]
- BCDの多倍長は?
- 109 名前:日本語に不自由する人はこれだから困る mailto:sage [2008/01/27(日) 15:24:05 ]
- >>108
BCDという制限がついた多倍長。
- 110 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 15:49:23 ]
- BCD は BCD 用の命令が CPU に備わってることがある。
- 111 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 20:47:35 ]
- >>86
整数命令で大小判定できるからじゃん? バイアスでなくて2の補数とかにしたい気持ちはよく解るが。
- 112 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 10:23:49 ]
- >>92 MSX-BASICをお使いください
- 113 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 10:24:53 ]
- DAAとかx86_64では無くなってるんでしょ?
- 114 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 14:31:31 ]
- MSX-BASICの浮動小数点
符号部 ibit 指数部 7bit 0x40のげた付き10のべき 仮数部 短精度 24bit 倍精度 56bit 正規化されたBCD(6桁/14桁)
- 115 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 20:05:49 ]
- >>111
> >>86 > 整数命令で大小判定できるからじゃん? それはゲタが1024だとできないの?
- 116 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 02:55:27 ]
- >>111
2の補数用の比較命令使いたかったらまず仮数部をだな
- 117 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 13:13:46 ]
- windowsの電卓オススメ
- 118 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 01:23:30 ]
- >>117
>windowsの電卓オススメ ヘルプによると一部有理数を使えるようだな。感心感心。 がしかし、関数電卓にすると平方根ボタンが消えるのはなぜだ? どうやら平方根は関数ではないらしい。 [x^2]の逆関数で何とかしのげるが。
- 119 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 01:32:16 ]
- 1/2乗って知ってる
- 120 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 01:33:01 ]
- x^2 の逆関数でいけるからボタンが無いんだよ
- 121 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 01:53:26 ]
- x^yの意味がわかってないな
- 122 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 01:57:21 ]
- XOR だよね!
- 123 名前:ヽ・´∀`・,,)っ━━━━━━┓ mailto:sage [2008/01/30(水) 02:07:00 ]
- そうだね累乗はx**yだね
- 124 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 03:09:32 ]
- もれは1/2計算するの面倒だから
.5乗している
- 125 名前:ヽ・´∀`・,,)っ━━━━━━┓ mailto:sage [2008/01/30(水) 03:17:50 ]
- ActiveScriptRubyについてるirbが便利。
- 126 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 15:06:54 ]
- [3][x^y][1][.][5][=]
[3][Inv][x^2]
- 127 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 17:54:58 ]
- 普通の電卓に平方根がついてる意味がわからん。標準偏差に使うのか?
簡単なループで計算できるからつけてみたら、その後ほぼ標準装備になったとか?
- 128 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 18:19:02 ]
- >>117 浮動小数点は文字列を使えという主張ですか
- 129 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 18:25:49 ]
- 0.1が正確に表現できるって意味じゃないか
- 130 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 18:38:36 ]
- BCD最強説
- 131 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 19:07:27 ]
- BCDは固定長です。
- 132 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 23:02:59 ]
- COBOLのパック形式をBCDと呼ぶのが正しいのだろうけど、
仮数部 X 10の指数部乗 の形式や 小数点以上32bit+小数点以下32bitといった10進数の表現も多い。
- 133 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 23:11:32 ]
- BCD で可変長は可能だろ。
- 134 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 07:01:47 ]
- >>117
Windowsの電卓をコマンドラインから実行して計算結果をもらうにはどうすればよいのでしょう?
- 135 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 08:14:24 ]
- >>127
ttp://www.njg.co.jp/d/3594.html ttp://www.t-ueda.jp/edu-momo/chi_faq/2/route.htm
- 136 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 00:55:33 ]
-
∧∧ ミ _ ドスッ ( ,,)┌─┴┴─────────┐ / つ ここでユークリッドの互除法. │ 〜′ /´ └─┬┬―───────―┘ ∪ ∪ ││ _ε3
- 137 名前:デフォルトの名無しさん [2008/02/10(日) 11:54:35 ]
- >>103
8087 デフォルトの射影的無限大ってよく解らないんだけど。 Projective モードで tan(90.000・・・°) を計算すると、 無限大の符号はどっち向くの?
- 138 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 12:05:48 ]
- (90.000・・・°のラジアンは表現できない
8087FPTANのパラメータは[0, π/4)の範囲 8087デフォルトでは-∞と+∞の相違は意味が無い(+0,-0と同様) 実際には、80bit-->64bitの変換で色々起こると思う
- 139 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 02:09:12 ]
- BCD信者に
89.999… == 90.000… が真であることを証明してもらおうか。
- 140 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 12:29:46 ]
- IEEE754信者も
- 141 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 14:14:23 ]
- IEEE754に循環小数は存在しませんっ。
先生そんなの認めませんっ。 無限桁BCDは世界最強なんだろ? 手始めに等号判定を実装してもらおうじゃないのさ。 アルゴリズムだけでもいいから示してくれ。 等号すら満足に行えない数値表記なんて何の役に立つ?
- 142 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 10:16:56 ]
- 有限桁演算だと結局等号の意味が薄い件
- 143 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 13:37:48 ]
- マシンイプシロンくらい気にしろと
- 144 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 14:24:03 ]
- じっすうのひかくにとうごうをつかっちゃいけないって
おかあさんがゆってた
- 145 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 21:28:35 ]
- >>144
ではどうしろと? A-Bが0だからといってA==Bとは限らない。 ママにそういってこい。
- 146 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 21:50:29 ]
- >>145
どうもこうも、不等号を使うしかないだろ。
- 147 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 21:56:15 ]
- 差が何らかの閾値以下かどうかチェックするのが常套手段
- 148 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 00:13:46 ]
- >>147
そうそう、マシンイプシロンあたりで。宿題スレでよくみます。
- 149 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 00:45:06 ]
- >>143
>>148 マシンイプシロンと等号になんの関係が? まさか、まさかとは思うが、君達は A==B を判定するのに A÷B させて1.0に迫るのを眺めているわけではないよな?
- 150 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 09:12:37 ]
- マシンイプシロンの精度で数値解析できれば苦労しないw
- 151 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 13:52:32 ]
- まさにA==Bを判定する必要がある場面を例示せよ。
行列ならほとんど積和算だし ソートは大小比較であり等号なんて使わない。 もしかして実数データをstable sortでもしたいのかい?
- 152 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 15:24:07 ]
- Aさんが直線上を時速2キロで歩いています。
Aさんの5キロ後方のBさんが時速3キロでAさんを追いかけ始めました。 おっと、A,B間を往復する時速5キロの犬が同時にBさんのもとを出発しました。 さて、ここで問題です。 (続く)
- 153 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 18:09:27 ]
- 私が博士論文で作った無限桁BCDライブラリによるとだな。
永遠にアキレスは亀に追いつけないと結論が出ておる。 よって常にA≠B。犬は老衰で死ぬ。
- 154 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 18:35:48 ]
- IEEE754 と微分方程式によるとだな、そもそもNot a Number(数ではない)と結論が出ておる。
もしかして犬は虚数なんじゃね?
- 155 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 19:36:53 ]
- ……AとBが出会った瞬間犬はどっちを向いているでしょうか?
- 156 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 20:03:48 ]
- >>151
ほぼ 0 を 0 に切り捨てる処理を書く事はたまにある。
- 157 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 20:16:35 ]
- ほぼ0なベクトルが与えられる可能性のあるときにを単位ベクトルに正規化するとき悩むな。
分岐を使わないいいい方法ってないかな?
- 158 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 20:18:15 ]
- どうせ長さ取得する必要があるんだし
分岐したんでいいんじゃないかな。
- 159 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:02:42 ]
- >>155
そりゃあ「尻尾の反対側」だろうな。 なんたって虚数犬だからな。 BがAを追い越した10分後にどっち向いてるかも興味があるな。
- 160 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:57:57 ]
- >>157
まずベクトルの要素の中から一番デカい数値を探すんだ。 そしたらそいつが1.0になるように他の全要素をスケーリングする。 ここまでは簡単だろ?n次元ベクトルならn-1回の比較とn回の割り算をすれば済む話だ。 できたか?できたら後はフツーに単位ベクトルを得るがよろし。二乗や平方根が出てくるだろうが、もはや二乗によるオーバーフローや平方根によるアンダーフローの危険性はぐっと減るはず。 まあようするにアレだ。単位球を得る前に、外接する立方体(一辺の長さは2.0な)を一度求めてみましょうという話だ。 …という仕事を昔データマイニングでしたなあ。
- 161 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 22:06:02 ]
- 小さい数値が出てきてる時点で、
そのベクトルを求める際に 数値誤差がたんまり入ってる恐れがあるじゃん。 全体的なオーダーが小さい場合はそういう手法は役に立つと思うけど、 例えば 1 前後のオーダーが普通な時に 10^-14 みたいなサイズのベクトルがあったら それは多分もの凄い勢いで数値誤差を含んでる。 困るのは多分こういう時。
- 162 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 00:21:16 ]
- >>161
> 例えば 1 前後のオーダーが普通な時に > 10^-14 みたいなサイズのベクトルがあったら > それは多分もの凄い勢いで数値誤差を含んでる。 うーん、そういうものなの?誤差?物理とか計測の話だったの? データマイニングで言うとこんなケースかな。(単精度正規数の場合ね) あるとこにおでん屋さんがいました。 店長はベクトル(気温,売上高)を使ったデータマイニングで仕入れ管理を始めました。 「まあ大変。昨日まで1℃だった気温が突然1.17549435e-38℃よ!氷点下はまぬがれたけどシステムがSIGFPEを吐いて止まってしまったわ!」 さあどうしよう。そうだ!気温をセ氏からカ氏に変えたらいいのでは? 過去のデータは全て変換して、今日の気温32°Fっと…うまくいったようです! ということで、物理屋の諸君も単位を柔軟に変えてみることをお薦めしたい。 特に零点変更は効果的だ。
- 163 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 01:07:35 ]
- 興味深い話だ。
いま >>4 の第二フェーズあたりだな。このスレはここからがおもしろい。
- 164 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 02:04:43 ]
- 摂氏0℃付近になる事で問題が発生する状況が想像できないなあ。
- 165 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 02:22:08 ]
- もの凄く小さいベクトルは何らかの形で数値誤差が大きいかもしれないから、
それを正規化して果たしてどれだけの意味があるのか分からない、 ってのがあるんだよな。 演算でオーバーフローとか現れなかったとしても、 そうやって得たベクトルに意味はあるの? ってところ。 解析的に解くと、(もの凄く小さいながらも)とある方向を向いているはずなのに、 数値誤差のせいで別の方向を向いてるなんてことは普通にある。 そういうのはばさっと0ベクトル扱いにするのもありだと思うが、 全体のオーダーが小さい場合もあるかもしれないから、 どこから0ベクトル扱いにしていい物やら悩む。
- 166 名前:絶対零度付近ではいろいろ起きそうだがw mailto:sage [2008/02/19(火) 02:28:13 ]
- 摂氏-1度の氷に摂氏-1度の水を掛けると……
- 167 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 03:21:54 ]
- 温度なんて相対値か絶対温度の形でしか
式に現れないはずだからなあ。 原点が問題になることは無いはず。
- 168 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 10:35:27 ]
- 「ただ1回計算をしただけでは結果の正しさについてほとんど何もわからない」
(伊理,藤野:"数値計算の常識")
- 169 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 14:18:06 ]
- ただ1個の標本だけでは母集団の分散について何も言うことができない
- 170 名前:おでん屋のお姉さん mailto:sage [2008/02/19(火) 18:50:49 ]
- おでんやの店長(>162)です。
あたしはねぇ、気温を入力して売り上げが予想できればそれでいいの。 工学科卒のオーナーったらひどいのよ。 こないだの大晦日とか、気温も売り上げも0に近かったんだけど、 「何らかの形で数値誤差が大きいかもしれない」とか言い出すのよ!もー! 「それを正規化して果たしてどれだけの」やかましいわ、キー! あたしは一生懸命打ち込んでるの!気温が低いのも売り上げが伸びないのもれっきとした「事実」なの!暖かろうが寒かろうが「事実」に貴賎はないの! >168 >「ただ1回計算をしただけでは結果の正しさについてほとんど何もわからない」 何回計算させれば気が済むのよ!あたしはデートなの。もう後がないのよ! もういいわ。ム板に相談した私がバカだった。 ケルビン温度計買ってくるわ。そうすればあたしは幸せになれるのよね? どこで売ってるの?Amazon?楽天? …もし気温が0°Kになったらどうするかですって? そしたらまたセ氏に戻すわ。
- 171 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 21:09:53 ]
- >170
あなたが観測した気温が1.17549435e-38℃だったとして、 実際には温度計の目盛り線がちょっと曲がっていて 本当の気温はマイナス1.17549435e-38℃だったかも しれない。でここに出てくる数字だけから判断すると 相対誤差200%なんていう話になってしまう。 売り上げ予想は「事実」ではないでしょ? 入力する気温が氷点下かどうかで 「今月は赤字に転落する恐れがあります」なんて オーナーに報告しに行かなければならなくなる瀬戸際 にあなたは立っているかもしれない。 真冬日の定義に従って 「今シーズンの暖冬傾向は云々」という文章を 書くのを仕事としている気象庁の中の人は リアルでそういう状況なんじゃないかな。
- 172 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 21:17:09 ]
- >しれない。でここに出てくる数字だけから判断すると
>相対誤差200%なんていう話になってしまう。 ならねーよ (273.15 - 1.17549435e-38) 〜 (273.15 + 1.17549435e-38) だから誤差は0でいいよ
- 173 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 21:22:59 ]
- >>171
誤差の出し方全く分かってないな。
- 174 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 21:39:11 ]
- >172
だからー、170の使ってる予測式が 気温(セ氏度)×1万円 だったらどうすんの?て話。 物理だけが数学じゃねーぞ。 水と氷だって大違いだぞ。 >173 ここでは相対誤差でなく絶対誤差を使うのが大人のたしなみ。 こうですか分かりません!
- 175 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 21:41:38 ]
- >>174
1万円かけたところで誤差なんてないじゃん。 そもそも 「何との」 相対誤差を出したいんだ?
- 176 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 21:49:36 ]
- 1.17549435e-34円も-1.17549435e-34円も
四捨五入すれば0円か…その通りだ 真の値と測定値との間の誤差…セ氏度表示で ってダメ?
- 177 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 15:30:24 ]
- そんなことより >157 よ、聞いてくれ。(>161、>165 も同類か?)
おでん屋のオーナーもよく聞きなさい。 ベクトルの大小はものの本質ではない。扱うベクトルが小さいからといって天文学者が量子力学者を馬鹿にするような行動は慎まねばならぬ。スケールの大小と精度の長さは区別せねばな。 >161 > 例えば 1 前後のオーダーが普通な時に > 10^-14 みたいなサイズのベクトルがあったら > それは多分もの凄い勢いで数値誤差を含んでる。 IEEE754単精度では1〜10^-37ぐらいを同じ精度で計算するのは朝飯前じゃがのう。 >165 > もの凄く小さいベクトルは何らかの形で数値誤差が大きいかもしれないから、 量子力学者のベクトル計算は天文学者より数値誤差が大きいとでもいうのかね? > 数値誤差のせいで別の方向を向いてるなんてことは普通にある。 で、何に困ってるのかね?おでん屋のお姉ちゃんを見習って温度計を買い換えたらどうかの?ベクトル要素の性質と単位ベクトルの用途を聞かんことにはなんとも答えられんのう。 > どこから0ベクトル扱いにしていい物やら悩む。 これこれ、あくまでも目的は単位ベクトルじゃ。そうじゃったよな? >157 という訳で状況を確認させてもらおう。状況が解らない以上、>157 には最大公約数的な答えしか返ってこないじゃろうな。多目的用途のデータマイニング屋さんのように。 ・「ほぼ0」ってどれぐらい?0.01ぐらい? ・ベクトル要素の単位は何?質量?気温?無次元数?IPアドレス? ・ベクトル要素のソースは何?計算結果?計測器?物理定数? ・単位ベクトルを得る目的は? ・当然浮動小数点だよな?
- 178 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 16:11:41 ]
- >IEEE754単精度では1〜10^-37ぐらいを同じ精度で計算するのは朝飯前じゃがのう。
よくわからないけど、 1.0 + 1.0 * 10^-37 が正確に計算できるってこと?
- 179 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 17:53:25 ]
- >>178
うむ、この程度の計算なら0.5ulpのハードルはらくらくクリアだな。
- 180 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 18:15:27 ]
- その計算は仮数部が128ビット以上必要だろJK
- 181 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 18:48:35 ]
- ビックリするかもしれないが、0.5ulpさえクリアすればそれが「正確」というものなのだよ…
- 182 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 18:56:37 ]
- >180
キミは禁断の「真実の値」に迫りたいのかい? 恐ろしいことに、このケースでは仮数部は何桁あっても足りないのだよ… こうして毎日何人ものプログラマーがBCDの暗黒面に落ちていくのだよ…
- 183 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 19:05:00 ]
- >181
情報落ちは言い出した人の責任ですかそうですか >182 1.0 * 10^-37 を「有効数字2桁?」と考えた上での発言だ …前半の1.0のほうを忘れてたなそういえば
- 184 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 19:21:37 ]
- 10^-1に仮数部が何bit必要か計算してごらん…
おのずと1.0+1.0*10^-37の正体にも気付くさ… >こうして毎日何人ものプログラマーがBCDの暗黒面に落ちていくのだよ… やがて彼らは新天地で1÷3に出くわし、挫折の末、戻ってくるのさ… そして望む/望まざるに関わらず >181 を受け入れて生きていくしかないのだよ…クククッ
- 185 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 19:23:56 ]
- そこで分数表現が登場
- 186 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 19:54:01 ]
- ライブラリの中の人が10進2進変換に苦労してることも
知ってるし。だ れ が 1.0+1.0*10^-37の「真実の値」を 知りたいと言ったか。 分数は大小比較が困難だからなー。循環小数について 考えてみようよ。 手始めに0.111...と1.000...をどう正規化するかについて。
- 187 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 20:07:36 ]
- 循環小数は分数化できるよ
0.900900900900.... = 900/999 0.90909090.... = 90/99 0.9999.... = 9/9 = 1/1 大小比較は通分すればいいんじゃない
- 188 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 20:45:46 ]
- 分数を循環小数形式で格納する利点は無いものですかね
- 189 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 21:17:59 ]
- さあ、πを正確に小数で表現してください。
- 190 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 22:27:51 ]
- レベル低すぎ
厨房が涌いてるのか?
- 191 名前:デフォルトの名無しさん [2008/02/21(木) 00:54:42 ]
- > 10^-1に仮数部が何bit必要か計算してごらん…
> おのずと1.0+1.0*10^-37の正体にも気付くさ… うーん、待ってくれ。 「n^-a を適当な基数で基数変換して循環小数になったら n^-(a+1) の基数変換もまた循環小数である」 …これ、正しいよな? 「整数+循環小数もまた循環小数である」これも確かだよな?
- 192 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 01:30:20 ]
- >>177
> > もの凄く小さいベクトルは何らかの形で数値誤差が大きいかもしれないから、 > 量子力学者のベクトル計算は天文学者より数値誤差が大きいとでもいうのかね? 全体的にオーダーが小さい場合は問題ないと何度も言ってるのに 何でそう言う事言うかね。 > > 数値誤差のせいで別の方向を向いてるなんてことは普通にある。 > で、何に困ってるのかね?おでん屋のお姉ちゃんを見習って温度計を買い換えたらどうかの? > ベクトル要素の性質と単位ベクトルの用途を聞かんことにはなんとも答えられんのう。 そもそも温度計の話も意味が分からない。 「ほぼ0の値になるとおかしなことになる状況だ」 という状況説明が何もない。 気温(摂氏)で割ってるような式でもあるのか? それを華氏に直して意味はあるのか? 元の式を変える事ができないなら、 いくらデータを保持する時の尺度を変えようが、 結局もとの形式に変換しないと元の式には適用できない。 数値誤差が増えるだけの愚行。 それができるのは元の式を変える事ができる場合だけだが、 それなら別にデータをコンバートする必要も無く、式を変えればいいだけ。 > > どこから0ベクトル扱いにしていい物やら悩む。 > これこれ、あくまでも目的は単位ベクトルじゃ。そうじゃったよな? >157 例えば解析的には0ベクトルになるはずのものが 数値誤差で非0ベクトルになった場合もあるだろう。 そういう場合に単位ベクトルを得て何の意味があるのか? 意味がないなら0ベクトルになっても構うまい(場合によっては例外投げても構わん)。
- 193 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 01:41:53 ]
- >>188
あんま無いよ、どうせやるなら同次型にして取り扱うが吉 速くて誤差なし
- 194 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 03:16:49 ]
- >>178
おまえw 気をつけろw >>177のいう事信じるなwww ちょっとでも数値計算したことあれば、言ってることが嘘だと分かる。 確かに単精度で表される最小数値は10^-37程度だが、有効桁は仮数部できまるので 1程度の量と混ぜたら、単精度では10^-7程度の誤差が出る。 小学生的なイメージで言えば、浮動小数点では数直線を対数的にメッシュで切っているので、 0近辺では目が細かくて10^-37程度だが、1の近辺では目が粗くなっていて10^-7程度でメッシュが 切られている。だから、これ以上細かい数値を足し引きしても、近場のメッシュに寄せられてしまうので (寄せ方は切り上げ切捨て、四捨五入(しかも色々ある)などIEEE745の規格で決まった寄せ方を フラグで指定してやれる。SSEとかはこの辺をきちんとやってない。) 1近辺では10^-7以下の数値は意味を持たない。 これは、浮動小数点をよく知らぬまま数値計算をやっていても、結果を吟味する段階で必ず出会うことなので、 浮動小数点の仕組みを知らなくても、単精度は10^-7~8、倍精度は10^-14~15などという事は、嫌でも体で覚える。 この点からして、>>177は計算しない素人評論家もしくはアホ。相手にするな。
- 195 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 05:12:11 ]
- なんかこのスレグダグダすぎてワロタ。
- 196 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 13:03:42 ]
- >194
>確かに単精度で表される最小数値は10^-37程度だが、有効桁は仮数部できまるので >1程度の量と混ぜたら、単精度では10^-7程度の誤差が出る。 出ねーよwww 1 に 10^-37 足したら誤差が 0.0000001 ってどこの電卓だよ! ハライテー >0近辺では目が細かくて10^-37程度だが、 正規数オンリーでも10^-43(≒2^-149)ぐらい楽勝だろうが。 あのさぁ、最小値=最小の刻み幅とか勘違いしてない? >この点からして、>>177は計算しない素人評論家もしくはアホ。相手にするな。 「1〜10^-37ぐらいを同じ精度で計算するのは朝飯前」 被加数:1.000000 (精度7桁) 加数:1.000000 * 10^-37 (精度7桁) 合計:1.000000 (精度7桁) 何か問題あるわけ?
- 197 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 14:10:37 ]
- [悪い例]
float温度[℃]に 3 << 22 を加えた後、3 << 22を引けば整数化される。 1 << 23個の1円玉(約1g)のfloat重さを加算した後で平均をとる。 >>おでんや x87CWのUM,DMをセットするか例外ハンドラをつけるべき
- 198 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 14:31:53 ]
- >>196
その加算で精度7ケタに丸められることを 194は10^-7程度の誤差と言っているのでは?
- 199 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 15:05:15 ]
- >194
そんなレベルの議論は>181>183で終わっているように見える >196 0.5ulpの意味でベストを尽くすこととそれに意味があるかどうか ということは別の問題だ 1と1+10^-8を区別できない状況で誤差が10^-37程度だなんて 主張したかったらもっと筋道立てて説明しろ あと >「1〜10^-37ぐらいを同じ精度で計算するのは朝飯前」 の意味をもう少し具体的に書け どんな元データからどういう計算をしようとしてるのかを
- 200 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 16:25:41 ]
- もし次スレが立つ様ならスレタイにくだすれって入れとけよ
|

|