ノート:端数処理

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索


> 履歴/丸め

> 履歴/floor 関数

> 履歴/truncate 関数

統合について[編集]

各記事の内容を見るに 整数化の関数である [[floor関数]]・[[ceil関数]]・[[truncate関数]]・[[round関数]]は、[[切り捨て]]・[[切り上げ]]・[[四捨五入]]([[五捨六入]])・[[丸め]]といった端数処理の操作を小数点以下第一位を処理して得られるもののようです。それぞれの相互の関係などもあり、統合するのが良いかと思い提案します。--218.42.227.166 14:41 2004年4月30日 (UTC)

中身がきちんと理解できているかが疑問ながら、統合しました。かなり胡散臭いですが。--218.42.227.216 18:39 2004年5月17日 (UTC)

実数を整数化する関数としてのfloor, ceiling, truncateを統合するのは構わないけど、それを端数処理に含めるのは正しくない。なぜならこれらの関数は純粋に数学的に実数と整数の関係だけであるのに対して、切り捨て・切り上げ四捨五入といった端数処理の概念は実用統計的なものであり、たとえ一部同じ結果をもたらすものを含んでいるとしても異なる範疇にある概念だから。特に四捨五入やまるめは10進数に依存する社会的なものであり、純粋に数学的なものとは区別すべきである。「端数処理」というタイトルのページが英語のFloor functionにリンクしているのもおかしい。対応するページがないにしても、概念的にはRoundingあたりが近いと思われる。つまり、「端数処理」と「床関数群」に分け、それぞれの説明では「端数処理では床関数群が使われることがある」と「床関数群は端数処理でも使われることがある」となるような構造にすべき。--HarpyHumming 2005年11月1日 (火) 09:37 (UTC)

文句もないようだし、床関数群を分離した、というか書き直した。英語版に倣った形で床関数に天井関数を含めた。--HarpyHumming 2005年11月7日 (月) 09:08 (UTC)
というようなことをやったらLemさんとかに怒られて、床関数は端数処理へのリダイレクトに戻された。ノート:床関数で議論?になった。結果ガウス関数とかの記述が消滅したままになってるけど、どしよね? 床関数が(見かけだけでも)充実した内容で突然出現するなら許してもらえそうだけど? 少しずつ育てられる環境じゃないみたいね。--HarpyHumming 2005年11月7日 (月) 18:39 (UTC)

日常的に「丸め」という言葉を使うときは、切り上げ・切り捨て・四捨五入などの端数処理のどれかを指す自由度のある言葉で、単に端数処理と同義。一方本文には「日本工業規格の計測用語としての丸め」が「丸め」の定義のように挙げてあるが、狭く定義しすぎ。ちなみにこの「4の場合切捨て、6の場合切り上げ、5の場合n桁目を最も近い偶数とする端数処理」はJavaのマニュアルでは half-even rounding と呼ばれたり、俗称かもしれないが五捨五入とか偶捨奇入と呼ばれたり、さらに俗にJIS丸めとも呼ばれるらしい。--HarpyHumming 2005年11月2日 (水) 20:15 (UTC)

JIS丸めは、英語の rounding to the nearest even number を直訳した「最近接偶数への丸め」ないし省略して「偶数への丸め」が、あまり使われてはいないが、他の表現に比べて意味をよく暗示すると思う。--HarpyHumming 2005年11月4日 (金) 11:15 (UTC)
というようなことを書いておいた。--HarpyHumming 2005年11月7日 (月) 09:08 (UTC)

丸めへの改名提案[編集]

JIS Z 8401では「丸め」、ISO 31では「丸め」に相当する「rounding」、岩波情報科学辞典では「丸め」となっていて、これらに合わせるのがいいと思います。「端数処理」は、google結果を見た限りでは、金額や期間など、特定の分野で使われているようです。--U3002 2007年7月1日 (日) 08:47 (UTC)

「丸め」だけでは、表現が項目の内容を言い表すのに、適切ではないと思います。確かに科学、工業、金融などの"数"を扱う場面で「丸め」と言えば、一意にこの項目の"端数処理"のことを指すと思いますが、「丸め」だけでは、四角いか丸いかの「丸め」(丸い傾向にある)などの別の意味も含まれると思います。そのため、他の意味に取られうるタイトル名を使うよりも、「端数処理」の項目はそのままで、項目「丸め」からリンクを貼る現在のほうが、より分かりやすいと思います。--Carl Daniels 2007年7月13日 (金) 17:49 (UTC)

>0.5を足して切り捨てるという、単純なアルゴリズムで得られる。なお、負の数に対して正常な結果を得ようとすれば、切り捨ては負の無限大への丸めである必要がある(0への丸めだと、たとえば-2が-1に丸められてしまう)。ただし、0.5を足して負への無限大へ丸めると、端数が0.5の場合

ここからの部分が

すごくわかりずらい

書いたらわかった

ほそい

round to half even の脚注は考え過ぎではないでしょうか[編集]

脚注の、全て偶数に丸められるような日本語表現(最近接偶数への丸め)は不適切、との指摘について、 丸め処理は、整数に丸めるのであって、2の倍数(偶数)値に丸める処理ではないので、 脚注での指摘は、考え過ぎ(丸め処理を前提としない一般的な議論)だと思いました。 奇数にも丸められることがあるのは当然です。 0.5 などの中間値の場合に、どのような整数とするかが、丸め処理の問題ではないでしょうか。 --ADMIS Walker会話) 2017年8月20日 (日) 19:49 (UTC)

取り消した者です。お互いの認識の違いはもうすでにないかもしれませんが、一応コメント/弁明しておきます。「最近接偶数への丸め」が問題になるような具体例はたとえば3.4のような数でしょう。その最近接偶数は4なので、文字通りに考えるとおかしなことになります。編集の要約にあった「わざわざ奇数値の出ないよう中間の整数を飛ばして偶数へ丸める」というような表現がまるで2.5を3を飛ばして4に丸めるような可能性しか考慮していない印象を受けたので、「読み間違いでは?」と取り消しました。問題の注釈が非常に有意義だとは思いませんが、もし「最近接偶数への丸め」と呼ぶようならば害のないお節介くらいではないでしょうか。--ARAKI Satoru会話) 2017年8月20日 (日) 21:30 (UTC)
お節介となると、たしかに、間違えうる日本語表現を使用するくらいならば、英語名の方が良いのかもしれません。編集を行ったのは、日本語wikiなので日本語で書いてある方が(少なくとも私には)round half to even よりは分かり易いこと、が理由です。この様子だと、他の訳語についても、同様の誤解を招くか、「ISO丸め」のようにあまり意味をなさない訳語ばかりかもしまれせん。訳語を作ってもよいなら(?)、ご編集頂いた、「半整数は偶数へ丸める」-> 「半整数偶数丸め」などでも私は適当だと思います。wikipedia として、代表する訳語を提示しない(英語名の使用を推奨する)ことは、訳語を求める閲覧者へは、どれでも好きな訳語を使っていいと推奨することになります。無理に訳語を提示する必要があるとは思いませんが、もし合意の得られる訳語が現れた際は、その訳語を提示できればと、私は、思います。--ADMIS Walker会話) 2017年8月22日 (火) 03:22 (UTC)
この記事では冒頭で「丸め幅を1とする」としているので(これもどうかと思いますが)半整数としましたが、一般の浮動小数点数に対する名称として半整数が出てくるのは不適切でしょう。訳語の造語は厳に慎むべきだと思います。そもそもこの記事には参考文献がまったくない(!)ので、訳語を考えたりする前にするべきことはたくさんありそうです。すこしインターネット上で調べた限り、『精度保証付き数値計算』大石進一(2000)では最近点への丸め(round to nearest)の偶数丸め方式(round to even)と呼ばれていました。また"The Art of Computer Programming" D. E. Knuth (1997, § 4.2.2) にもround to evenに関することが書いてあるので、邦訳の訳語を確認をしたりするべきでしょう。上の方にあるHarpyHummingさんのコメントで名称の一部は俗称かもしれないとあったりもするので、適度に間引く必要があるかもしれません。--ARAKI Satoru会話) 2017年8月22日 (火) 15:16 (UTC)
浮動小数点数の仮数部として捉えると、そうかもしれません。いずれにしても、百科事典での造語は危険が伴いそうなので、図書館で参考文献を探しました(後述)。以前の「最近接偶数への丸め」ですが、2005年11月7日の編集履歴から現れており、書籍資料、または、2005年11月6日以前のGoogle検索の結果からの引用と推測されます。その後、最近接偶数への丸め:"round to the nearest even"の訳が当てられた後、(おそらく名称を、英語版wiki)に合わせ、日本語訳なし:"round half to even"となっています。結論として、少なくとも「偶数への丸め (round to even)」の訳は、文献もあり、安全な訳です。また、現状、本wikiでは、「最近接偶数への丸め」の語句が多用されているため、いずれかの訳に統一が必要です。この際、現状では、IEEE 754 の項目が、同様の日本語wikiIEEE 754 浮動小数点数の丸め 最近接丸め 最近接丸め(偶数)との整合性が取れていませんが、こちらも統一できるとよいと思いました。■「C言語による数値計算入門―解法・アルゴリズム・プログラム (UNIX & Information Science) 皆本 晃弥 サイエンス社 初版第 5 刷発行 p.12 §1.5」で、「偶数への丸め(round to even)」とされていました。これは、同著者の「GIMP/GNUPLOT/Tgifで学ぶグラフィック処理―UNIXグラフィックツール入門 (Informaition&Computing) 皆本 晃弥、坂上 貴之」からの引用が付加されていますが、こちらの文献は在書が無かったため確認できませんでした。■「数値計算工学 森口 繁一 1989/4/26 第 1 刷発行 第6章 p.208」では、偶数丸めを「JISの丸め方」として紹介されていました。■"The Art of Computer Programming" D. E. Knuth (1997, § 4.2.2) の訳本として、「『The Art of Computer Programming Volume 2 Seminumerical algorithms Third Edition 日本語版』、Donald E.Knuth(著)、有澤誠(監訳)、和田英一(監訳)、斎藤博昭(訳)、長尾高弘(訳)、松井祥悟(訳)、松井孝雄(訳)、山内斉(訳)、アスキー、2004年、ISBN 978-4-7561-4543-7 p.224 §4.2.2 (2004年10月26日 初版発行)」を確認したところ、"round to even"に対して「偶数への丸め」、"round to odd"に対して「奇数への丸め」の訳が行われていました。(本題からは外れますが、、本wikiでは、IEEE754 での英訳名称 (略語)"The IEEE 754-2008 standard defines five rounding modes. The supported rounding modes include round to nearest ties to even (RNE), round to nearest ties away from zero (RNA), round toward zero (RTZ), round toward positive infinity (RPI), and round toward minus infinity (RMI)." と、それ以外の名称が入り乱れているように思いました。) --ADMIS Walker会話) 2017年8月27日 (日) 03:15 (UTC)

──────────────────────────────────────────────────────────────────────────────────────────────────── 文献の調査ありがとうございます!これまでに出てきた話をまとめると、こうでしょうか。

用語のまとめ
文献 英語 日本語
大石 2000 round to nearest (round to even) 最近点への丸め(偶数丸め方式)
Knuth 2004 round to even 偶数への丸め
皆本 2005 round to even 偶数への丸め
森口 1989 n/a JISの丸め方

さらに今のところ

  • 「最近接偶数への丸め」、「偶数丸め」、「最近接丸め」、「JIS丸め」、「ISO丸め」、「銀行家の丸め」、「銀行丸め」、「五捨五入」、「偶捨奇入」という用語を採用している文献はない
  • "round half to even", "bankers' rounding"という用語を採用している文献もない

ということですね。調査して得られた結論を反映させてADMIS Walkerさんの思うように直されてはいかがでしょうか。--ARAKI Satoru会話) 2017年8月27日 (日) 08:17 (UTC)

表、大変わかり易いです。ありがとうございます。ひとまず問題の無さそうな箇所は、「偶数への丸め (round to even)」で、記事の方に反映いたしました。気になる点がありましたら、また、修正や切り戻しをしていただければと思います。--ADMIS Walker会話) 2017年9月9日 (土) 12:34 (UTC)