- - PR -
490/4.9=99.99999
投稿者 | 投稿内容 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-11-21 23:10
ちょっと息抜き
490/4.9 の厳密性を保持したければ 有理数(fraction // rational number)があります。 数式処理ソフトでは有理数演算は備え付けです。 機械は機械の仕組みで結果を出しているだけです その仕組みを理解できない人もいるかもしれません。 | ||||||||||||||||
|
投稿日時: 2005-11-21 23:22
これに対する返信はなしですか?
誤差の話をするのに、ご自身でやってるとおり、1/3,1/7,...で充分です。 いちいち「測定」なんて持ち出す必要ないですよ。 このスレでお勉強したんですか?
たまたまではありません。 2進数表現の小数は、10進数表現によって、誤差もなく完全に表現が可能です。 「基数」という言葉を勉強してください。 小数部分について、10進数の基数は0.1、2進数の基数は0.5。 2進数の小数が10進数で完全に表せるのは、0.5が、0.1×5で表せるからです。 逆に、0.1は、0.5^xをどれほど加算しても、完全な表現が不可能なのです。 あ、ちなみに、この場合のxは「自然数」ですよ。 これが、2進数表現小数を10進数表現で完全に表せて、逆が不可能な場合がある理由です。
適材適所。 Decimalのなんたるか、SingleやDoubleのなんたるかを理解していれば、 上記のような寝言は出てこないでしょうよ。 議論? システムに丸投げして大丈夫な方法が欲しい、というのと、 なぜその処理で大丈夫なのか、きちんと説明できるかどうかの違いですよ。 <追記> タグの間違いを修正 [ メッセージ編集済み 編集者: さいくろう 編集日時 2005-11-21 23:23 ] | ||||||||||||||||
|
投稿日時: 2005-11-21 23:44
失礼しました。「自然数」って数学的な定義があったのですね。 特別意識しないで使っていましたが、大変なまちがいなのですね。 ありがとうございます。
2進数の基数は0.5。ってのはいかがかと思いますが。。。ま、よいとして。 ところで私が最初に書いた
についてはご意見はありませんか???? ただのつっこみだけですか??? 結構いろいろなケースが出てくるのかなと思ったりして期待していたのですが。 | ||||||||||||||||
|
投稿日時: 2005-11-22 00:00
素直なのはいいことですよ。少なくとも悪いことじゃないです。
「小数部分の」とはつけましたが、不足でしたか。精進します。 ところで、「たまたま」と書いてらっしゃいましたが、二進数での小数表記で、 十進数の小数で表せないものがありましたら、ご指摘頂けませんか。 「実は無限小数だった」なんてのはナシですよ。
ありません。 SingleだろうとDoubleだろうと、特性を理解した上で利用すれば、 Decimalの代わりに仕込むことは可能です。 ただ、そんな面倒くさいことを、わざわざしないだけです。 | ||||||||||||||||
|
投稿日時: 2005-11-22 00:32
あ、なるほど逆発想ですね。 わざわざDecimalなんて使うケースは見当たらないと私は思っていたのです。 Decimalを使うケースのほとんどは、小数何桁で四捨五入とか切り捨てってのが普通かなと。 Decimalにする必要性をあまり感じない。遅くなるだけだし。 で、必要なケースが出てくれば、なるほどと理解も進むだろうと思うのです。 | ||||||||||||||||
|
投稿日時: 2005-11-22 00:41
追加です。
いえ、「小数部分の」基数は0.5って表現を聞いたことがなかったので。 基数が2だから0.1は十進数の0.5ではあるんですけど。。。。
失礼しました。 「たまたま」十進数が2の倍数を基数とするので二進数の小数は十進数の小数で完全にあらわせるだけ、と言いたかっただけです。 で、実際に起こりうる事象としては二進数だろうが十進数だろうが三進数だろうが同じ問題を抱えるわけで DecimalかDoubleかの議論はそういう部分も含めて(というか、根本的には別問題)考えるべきかなぁと思うのです。 で、ケーススタディとしてDecimalでなければならないケースを知りたいと思ったわけです。 ながながと失礼いたしました。 | ||||||||||||||||
|
投稿日時: 2005-11-22 00:48
まさに、その必要なケースにぶつかって、スレ主さんはこの掲示板にいらっしゃったのでしょう。 次回のスレ主さんのご降臨をお待ちください。 <修正> 「参られる」を「いらっしゃる」に修正 [ メッセージ編集済み 編集者: さいくろう 編集日時 2005-11-22 01:12 ] | ||||||||||||||||
|
投稿日時: 2005-11-22 08:52
全然関係ないですが、
万能数値表現法 URR http://homepage2.nifty.com/m_kamada/docsproc/asmurr.htm なんていうのもありました。 検証していませんが、使えるのかな〜? |