- PR -

負の数の四捨五入方法

投稿者投稿内容
object
ぬし
会議室デビュー日: 2002/03/20
投稿数: 338
お住まい・勤務地: 香川県高松市
投稿日時: 2005-04-11 18:43
objectです。

四捨五入は、
基本的には「測定値の丸め」処理として考えられたものであり、
与えられた制約の中で、
測定値を距離として、より近い値を求める手段
と考えて良いと思います。

従って、
切捨てという処理をベースで考えるなら、
丸め処理をする桁位置で、
正の場合は、5を加えて、その桁以下を切り捨て、
負の場合は、−5を加えて、その桁以下を切り捨て、
という処理で良いのではないでしょうか?

それから、少しスレッドのテーマから離れますが、
現在の四捨五入による偏りは、十進数に起因するものであり、
例えば十一進数で、五捨六入であれば起きない問題だと思います。
従って、その問題を、遇奇で処理する、所謂
「銀行丸め」
は、本来の目的・基本理念から、逸脱していると思います。
#本来の「どちらに近いか」が無視されている。
#丸め誤差の総和がゼロになれば、何をしても良いの?
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-04-11 22:20
> 「銀行丸め」は、本来の目的・基本理念から、逸脱していると思います。
そうですか?それはそうかもしれませんが、この考え方は本来の目的、基本理念の後にあるものだと思います。

 たらればはおいておいて、「測定値を距離として、より近い値を求め」る、ここまでが、本来の目的、基本理念でしょう?
 それで、ご指摘のように十進数(偶数進数)であるが故に偏りが生じます。ここで、5は"どちらからも同じ距離"なのですから、単純に
『正の場合は、5を加えて、その桁以下を切り捨て』
『負の場合は、−5を加えて、その桁以下を切り捨て』
という処理では、おっしゃっている基本理念、『より近い値を求める』から外れるのでは?
コード:
          1
01234567890
     ↑
123456
     654321


 そして、基本理念からは外れますが、より偏りを少なくしようと、「偶数丸め」を行うのではないでしょうか?
 反対にいうと、どちらからも同じ距離だから「偶数丸め」で偏りを少なくする処理が必要なのであって、どちらからも同じ距離でないのなら、そんなことする必要はないでしょう。

_________________
らぶま
常連さん
会議室デビュー日: 2004/10/21
投稿数: 32
投稿日時: 2005-04-11 23:58
らぶまです。

偶数丸め(=銀行丸め?)については、
丸めたい桁の上位桁の偶奇の発生確率を等しいとみなす所に根拠があります。
つまり、数値が1.35なる確率と1.45になる確率が等しいので、どっちも1.4にしましょうという話です。

ただし、これは各工学分野の話ですけど(測定なんかすると結果はぶれるからな・・)。
JISのは「鉱工業において用いる十進法の数値の丸め方」の規定なので、想定の範囲内です、てところか。
それをビジネス分野で使っていいかは別の話ですね。
_________________

スキルアップ/キャリアアップ(JOB@IT)