最新閲覧日:

-0.1の切り上げ・切捨ての答えは何になるのですか?
考え方もいっしょに教えてください。
よろしくお願いいたします。

A 回答 (15件中1~10件)

ER34Yutakaさんへ



もう出てこないなんて、言わないでくださいね。
ER34Yutakaさんの発言のお蔭で私も原点に返ることができたわけですから。
正確な定義はどうなのだろう、ということを確認する良い機会になったと、
前向きに捕らえましょう。

私も実は、納得が行かないんですよ。
もしかしたら、「切捨て、切り上げ」の概念は正の実数限定の話なのではないかと
思っているからです。
(現に数学辞典では正の数の実例しか取り上げていませんでした。)
質問してくださった方には混乱を生じさせたかもしれませんが、
我々も、良い機会だったということにしましょう。
    • good
    • 0

takataka417さん非常にごめんなさい。


数学をかじっている者として、納得のいく答えがないものですから、この場を借りて何度も来ていますが、これで最後にします。
私の欲しいものは数学的な定義なのです。
収支の場合だって違ってこないはずだし(前の私の場合、3500円借金を切り捨てるとどっちから見ても500円はなかったことにするのですから、貸方も借方も切り捨てれば私は3000円だと思います)
マイナスの世界の捨てるは当然私は拾う(プラス)だと思います。
だから、-1.23は-1.2で0.03のプラスになると考えました。
masuo-kunさんの数学辞典はとてもよかったです。
まだ、心のそこからは納得いきませんが・・・・
直接お会いして皆様と議論したかったです。
こんなにぐちゃぐちゃにしてしまい皆様本当にすみませんでした。
ご迷惑でしたね、もう出てきませんので今まで有り難うございました。
    • good
    • 0

 hero1000さんも言ってるように、収支が絡むと「切り上げ」「切り捨て」の意味は違ってきます。


 ER34Yutakaさんの言う「3500円の借金」とは、借方から見た時に「-3500円」なのであって、貸方から見れば「+3500円」なわけです。(返済によって増えるので)
 ここで貸方の言う「100円単位は切り捨て」というのは、借方から見た場合でも同じ結果になる必要があり、その都合絶対値で考えざるを得ないわけです。
(数の大小で考えてしまうと、貸方は3000円返せばいいと言ってるのに、借方は4000円を返さねばと思ってしまうわけですから)
 そんな訳でExcelのROUNDUP/ROUNDDOWN関数は、ER34Yutakaさんの言うような結果を出すわけです。

 プログラムの世界は数学とは切っても切れないほど深いつながりを持っているので、「それは置いといて数学では…」ということはできません。
(今日日コンピュータを使わずに科学技術計算を行っているという話を、私は聞いたことがありません。まぁロケット飛ばすのに切り上げ捨てが必要とは思いませんが)
 ISO、ANSI、JISで標準として採用されているC言語の標準関数(しかも算術関数という位置付け)である切り上げ捨ての関数の動作が、数学の定義から外れた動作をしているとは、到底思えないのですが。

 「切り捨て」が言葉通り値を捨ててしまうのだとすれば、そもそもマイナスの世界での「捨てる」とはなんなのさ、という話になりませんか?
    • good
    • 0

さらに質問者の方を混乱させるようで申し訳ないのですが…


私も純粋数学の卒業生として、謙虚に数学大辞典に目を通した上で発言させていただきます。
前回の私のガウス関数の考えは小数第1位での切捨てしか行えないので、この発言は撤回します。

まず、実数の大小について整理しましょう。当たり前のことから。
3と6では6のほうが大きい
それではー3とー6ではどちらが大きいですか?
-3ですよね。
なんとなくですが、このレベルから混乱しているのではないかと思います。

実数においては数には大小があります。
不等式が出てきた時点で、考える変数は実数と限定するのと同じく、
切捨て、切り上げ、四捨五入などについても、この言葉を持ち出したら、
数の対象は実数に限ってよいと思います。

新数学辞典(一松信/竹之内修編P.33R)を読むと、次のように書いてありました。

切捨て…端数が何であろうとこれを捨ててしまう方法
切り上げ…端数を捨てて、最後の位に「1を加える」

前後もよく読みましたが、「絶対値」がどうのうとは出てきませんでした。
切捨てのほうだけ読むとどちらにも取れますが、
切り上げのほうを読めばわかるとおり、切捨てについては「その数を超えない最大のもの」でないと、不都合が生じます。たとえば-0.36について

-1 -0.4 -0.36 -0.3 0
数直線より、-0.36を小数第2位で切り捨てると-0.4となるはずです。
切り上げのときに、私の持っている辞典通りに行うと、-0.3

揚げ足取りのようで申し訳ないのですが、
もしER34Yutakaさんのおっしゃるように-0.36を切り捨てたら-0.3だとするなら、
上の定義に従うと切り上げたら-0.2 これでは意味がないと思います。
(あくまで、-0.36は、-0.4と-0.3の間にある数ですからね…)

勝手に結論付けをさせていただきますと、
「切り捨てられた数」は、元の数よりも小さく、
「切り上げられた数」は、元の数よりも大きくあるべきだと思います。
ここで言う「大きい」、「小さい」については、いわゆる数直線上で、より左にあるものが「小さい」より右にあるものが「大きい」ものとし、
ここでは絶対値は関係ないものとされるべきだと思います。

負の数の大小については絶対値を取ると逆転してしまうので、
混乱を生じさせやすいのだと思います。
    • good
    • 0
この回答へのお礼

辞典まで調べていただきありがとうございます。

>「絶対値」がどうのうとは出てきませんでした。

と言うことより、絶対値を使用せずに値の大きさのみと言うことで、納得できました。

他の皆様にもここであわせてお礼申し上げます。
本当にありがとうございました。

お礼日時:2001/06/25 11:00

「誰が決めたんだ!」と突っ込まれた私ですが。


いろいろ調べて、プログラムとか表計算の関数では
どちらも場合もあるみたいですね。
私はプログラムとかはやっていないので純粋な数学をかじっているものとしての意見です。
切り上げ・切り捨てを数を大きくする・小さくするで議論するのは、もうすでに正の数を基準にしているような気がするのです。つまり、絶対値をある数学の先生は+-の記号を取るだけと教えます。これは正しいと思うかもしれませんがが、複素数や複素平面の世界に行くとこうはいきません。
きちんとした定義、つまり原点までの距離が絶対値である。これで実数でも複素数でもいけるわけです。
今回の場合は(はっきりいって私の意見です)
切り捨ては端数を文字通り捨てることだと思います。
切り上げは端数を次の位に上げちゃうことだと思います。
そうすると例えば、
-1.23を切り捨てると-1.2(小数第2位を)         切り上げると-1.3だと思うのですが。
問題文は「小数第2位を切り捨てなさい」というふうに
必ず桁、位をどうのこうのとなります。
ただ単に数を大きくする小さくするの議論は実数の世界で絶対値の議論をするのと同じことをしているような気がするのですが。いかがでしょうか?
    • good
    • 0

leaz024さんの回答の通りです。

(^o^)

0.1を小数点以下桁数1桁目を切り上げるなら1である。
0.1を小数点以下桁数1桁目を切り下げるなら0である。
これには異論はありませんよね>皆さん

切り上げるのは基本的に大きな値にする事ですから-0.1より大きな値は0ですよね。
切り下げるのは基本的に小さな値にすることだから-0.1より小さな値は-1ですよね。

-1 -0.1 0 0.1 1
----------------------------> 正方向

プログラム的にもこの考え方です。
    • good
    • 0
この回答へのお礼

”切り上げ”に対する言葉で、”切捨て”ではなく、”切り下げ”と言う言葉を使われていたことで、これなら、
”捨てる=なくす”ではなく”下げる=減らす”という感覚で、大小の直線上での考えに納得することができました。
ありがとうございました。

お礼日時:2001/06/25 11:07

結論が収束してませんねぇ。


私のこの回答で収束に向かうことを祈ります。

で、本題ですが・・・。

すみません、私が間違っていました。(大汗)

収支決算の時のアルゴリズム(←?)をそのまま当てはめてしまいました。
数学的には多くの方がおっしゃっている通り、数の大小で見ますね。

みなさん、特に質問者であるtakataka417さんには大変な混乱を与えてしまった
と思います。ここにお詫び申し上げます。

この回答への補足

すみません。
少々混乱気味です。
プログラムでは、2種類の答えがあるようですので、数学的にと言うことでお願いいたします。

なんとなく、見ていくと、数の大小かなとも、思えてくるのですが、絶対値でと言う考え方も、なんとなく納得できてしまうので、お手数ですが、なぜ絶対値が違うかと言う考え方もお聞きしたいのですが・・・。

切り上げ、切り捨ての概念とはどういうものなんでしょう?
(これは、別に質問したほうがいいんですかねぇ(^^;)

補足日時:2001/06/21 09:56
    • good
    • 0

多分、ガウス関数[x]で考えるのでしょうね。


[x]は、xを超えない、最大の整数です。つまり、これが切り捨て。
-0.1を超えない最大の整数は-1ですから、
-0.1を切り捨てると-1です。
逆に切り上げは[x]+1と考えるのでしょうね。
    • good
    • 0

No.3のleazです。

プログラマとしての観点からの意見です。

CでもJavaScriptでも、
 -0.1を切り上げると0
 -0.1を切り捨てると-1
となります。
Excelがどのように「切り上げ」「切り捨て」を実装しているのかは知りませんが、あれはあくまで「表計算ソフト」ですから。

ちなみに「四捨五入」に関しては、より小さい-0.9~-0.6の4つが-1となり、より大きい-0.5~-0.1の5つが0となります。

これらの計算方法は絶対値を見るのではなく、値の大きさを考えなければなりません。

数直線を書くか、物差しを眺めるのが一番ですよ(笑)
    • good
    • 0

hero1000さんとER34Yutakaさんのお答えには納得できないですね。


私としては、「誰が決めたんだ!」と突っ込みたくなります。
ところで、ExcelでCEILING()やFLOOR()関数を使って試したらエラーになりました。
結局決まっていないということでは。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード


人気Q&Aランキング

おすすめ情報