- ベストアンサー
切り捨て、切り上げ、四捨五入
数学で切り捨て、切り上げ、四捨五入を習いましたが、正の数だけでした。 最近、マイナス値についての切り捨て、切り上げ、四捨五入を考えるようになりました。 切り捨て-4.2なら-4?-5?-4.8なら-4?-5? 切り上げ-4.2なら-4?-5?-4.8なら-4?-5? 四捨五入-4.2なら-4?-5?-4.8なら-4?-5? の時、それぞれいくつになるのでしょう? コンピュータで計算したいときはほしい結果がわかっているので使い分けできますが、 数学の定義としてどちらが正しいかを教えて下さい。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>切り捨てはその数を超えない最大値という定義?を見たことがありますが、 >どうでしょう?これは間違いですか? 「普通は」と書いたとおりです。 ゼロ方向への切り捨て、マイナス無限大方向への切り捨て、どちらも間違いではありません。 単に「切り捨て」というと*普通は*ゼロ方向への切り捨てです。 数学で使われるガウス記号 [x] は、その数を超えない最大値なので、[-4.2] = -5 ですね。 その定義を見たのでは? >また、コンピュータ言語にはその数を超えない最大値、つまり、-5になるものがありますが >間違いでいいのでしょうか? コンピュータ言語は各種用意されているのが多いです。 Cだと、ceil() floor() というそれぞれ「天井」「床」をそのまま関数名にした関数があります。 これは、それぞれプラス無限大方向への切り上げ、マイナス無限大方向への切り捨てです。 これと別に、trunc() という関数があり、これは「先端を切り取る」というような意味で、絶対値の切り捨て=ゼロ方向への切り捨てになります。 round() は、絶対値の四捨五入ですね。 数学計算というと伝統的にはFortranですが、Cと同じ機能で、CEILING() FLOOR() INT() NINT() 関数があります。というか、CがFortranを真似たんでしょうけど。
その他の回答 (3)
- simotani
- ベストアンサー率37% (1893/5080)
切り捨てだと-4.2=-4 -4.8=-4 切り上げだと-4.2=-5 -4.8=-5 四捨五入だと-4.2=-4 -4.8=-5 になります。 PCが常に正しく計算するとは限りません。計算の定義そのものに誤りがあれば誤答を導き出します。場合により-|4.2|とする等工夫が必要かも知れません。
- skunk39
- ベストアンサー率40% (2/5)
似たご質問がございましたので回答させていただきます。 http://okwave.jp/qa/q3814723.html
- notnot
- ベストアンサー率47% (4900/10358)
普通は絶対値を見ます。-4.2を切り捨てれば-4。 以下同様。
補足
切り捨てはその数を超えない最大値という定義?を見たことがありますが、 どうでしょう?これは間違いですか? また、コンピュータ言語にはその数を超えない最大値、つまり、-5になるものがありますが 間違いでいいのでしょうか?
お礼
たびたびありがとうごじます。