http://oshiete1.goo.ne.jp/kotaeru.php3?q=88809
の質問に関連して、質問します。
arataさんの回答にありました参考URL
http://www.microsoft.com/mscorp/worldwide/japan/ …
を見ました。
そこにあった記述でわからないことがありました。「数値の丸め」の項に
「Visual Basic 4.0 で数値の丸めが発生するケースは、主に代入と
Format 関数があります。
代入する値が代入先のデータ型の有効けたを超える場合に丸めが行われます。
ここでの丸めは IEEE (米国電気電子技術者協会) 規格のうちでもっとも
一般的である "いちばん近い偶数に丸める" という方法をとっています。
例えば整数型への代入では、1.5 は 2、2.5 も 2、3.5 は 4 に変換されます。
これは四捨五入より結果に片寄りが少なく、誤差の累積が最も少ない方法の
ひとつです。」
この「いちばん近い偶数」を選ぶ理由は何でしょうか?
なぜ奇数はダメなのか?ご存知の方、教えてください。
No.3ベストアンサー
- 回答日時:
四捨五入の場合
0.1,0.2,0.3,0.4の4つの値が小さく
0.5,0.6,0.7,0.8,0.9の5つの値が大きくなります。
均等に値が発生するとして、値の変化は
-0.1-0.2-0.3-0.4=-1
0.5+0.4+0.3+0.2+0.1=1.5
ですから、0~99の間で、100個の値が発生する場合、0~1毎に0.5ずれるのですから、+0.5*10で+5ずれる可能性が高いわけです。これは結構大きな値ですね。
IEEEの丸めの場合
奇数では、0.5は切上げ、偶数では切り捨てられますから、
誤差の累積が0に近いわけですね。
ですから、合計値の誤差を問題にする場合は、後者の方が、合理的ですね。ちなみに、前者を算術型、後者を銀行型の丸めといいます。
本当かどうか知りませんが、アメリカの銀行では後者を使用していると聞いています。
で、偶数か、奇数かですが、どちらでも同じだと思います。どっちでもよくて、偶数に決めたのでは?
No.2
- 回答日時:
推測ですが、これは少数を記録する方式の問題だと思います。
少数は0.xxxxx×10^xxという方式で、xxの部分をすべて2進数で記録するので、2の倍数にするのが都合がよく、奇数にすると誤差が増えてしまうのでしょう。
これはおそらく、浮動小数点型という少数の記録方式を理解すれば、わかることだと思います。
私はあまり突っ込んでいませんが、調べてみては?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 高校 有効数字計算 確定した値を含む 2 2023/01/18 06:03
- 政治 中国は一票の格差4倍で、日本は3倍ですが、それでも日本は民主主義国なら中国も同じですよね? 2 2023/03/16 04:52
- JavaScript 助けてください‼︎ javascriptで質問があります。 配列を定義して、 29342、45342 3 2022/06/26 22:06
- 日本語 読解力の質問です(Excel含む) 12 2022/08/02 13:25
- 統計学 回帰分析検証不一致 5 2022/05/04 20:48
- その他(自然科学) 風車音の測定 3 2023/04/28 07:12
- 経済学 ミクロ経済の問題 準線形効用関数 4 2022/08/14 00:58
- 数学 数2Bの数列の問題です。 自分は、 まず数列 an=ar^(n-1)と置き こちらの問題の、y= の 1 2022/07/07 16:26
- 統計学 確率統計の問題です。 3 2022/04/07 04:39
- 数学 至急!次の問題を教えてください。 ある市では、消防車の出動要請が平均して1時間当たり1回ある。 多く 2 2022/11/18 20:25
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでダブルコーテーション入り...
-
processing エラーで、 "cannot...
-
i++と++i ってどう違うのですか?
-
jsp~jspにhiddenを使って変数...
-
EXCEL/VBA 変数の値をクリップ...
-
プログラミングで変数と関数の...
-
定数の設定について。
-
変数にオフセットが付いている...
-
C言語 アロー演算子について質...
-
エラーの意味は? Lvalue req...
-
【VBA】複合代入演算子
-
整数xxxが大き過ぎますというエ...
-
int→unsigned int キャスト
-
C言語 初心者です。
-
[VBS]変数を定数に変換する方法...
-
C言語 exitの使い方
-
Excel-vba 文字列と変数を...
-
COLUMN(1:1)の意味を教え...
-
1つ前の値を変数に保存する方法
-
フォームを開くときに、コンボ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エラーの意味は? Lvalue req...
-
VBAでダブルコーテーション入り...
-
テキストボックスの値を変数に...
-
processing エラーで、 "cannot...
-
Variant型で宣言してるのにEmpt...
-
EXCEL/VBA 変数の値をクリップ...
-
[VBS]変数を定数に変換する方法...
-
C言語 アロー演算子について質...
-
jsp~jspにhiddenを使って変数...
-
整数xxxが大き過ぎますというエ...
-
プログラミングで変数と関数の...
-
変数にオフセットが付いている...
-
ExcelのVBAでをA列に第0〜19項...
-
「%」を使って、偶数か奇数かを...
-
【VBA】複合代入演算子
-
無名関数のメリットがよくわか...
-
gridViewの行選択解除
-
stdpicture型の変数に、、
-
コマンドプロンプト バッチ|結...
-
VBA 1行で複数の代入を行った...
おすすめ情報