2017-05-30 3 views
-5

数学的アプローチを使って理論的な答えが必要です。それらの間に何らかの数学的な違いがあり、それらがプログラミング言語にどのように影響を与えるか切り捨て除算と床仕分けの違いは何ですか?

+0

*グロリアリダクション*という概念に依存します。それはどういう意味ですか? –

+0

@ChandlerBing掛け算はちょうど賞賛されているので、 '5 * 5'はちょうど' 5 + 5 + 5 + 5 + 5'であるので、同様に除算はちょうど賞賛される減算です。 '12/3'は' 12-3 = 9(1)9-3 = 6(2)6-3 = 3(3)3-3 = 0(4) 'なので、*** 4 ***は私たちの答え。 –

+0

*賛美された追加*で乗算を単純化する人は、負の数を考慮していません。例えば。 '3 * 7 = 7 + 7 + 7'の場合、' -3 * 7'とは何か?あなた自身が '-3 '回で' 7'を追加することはできません。 *賛美された減算*として除算を簡略化するためにも同じです。だから、単純化しようとしないでください。あるいは、あなたが主張している場合は、最初に否定記号を抽出し、後で再度適用します。 ---質問のタイトルは、全く別の質問ではなく、質問テキストの*要約*であるはずです。 – Andreas

答えて

1

DOWN
ゼロに向けたラウンドに丸めモード。破棄された端数の前に数字をインクリメントしません(は、を切り捨てます)。この丸めモードでは、計算された値の絶対値は決して増加しません。

負の無限大に向けた ラウンドに丸めモード

FLOOR
。結果が正の場合は、RoundingMode.DOWNのように動作します。負の場合はRoundingMode.UPのように動作します。この丸めモードでは、計算された値は決して増加しません。

のJava分割演算子はJLS §15.17.2. Division Operator /によって定義される:-1における理由5/-3結果である0

向かっ

整数分割ラウンド。


あなたはまた、Wikipediaの「床」対「切り捨て」の定義を見ることができます:

q最も一般的なものである整数に数yを丸めるの多くの方法があります。

  • ダウンラウンド(または床を取るまたはマイナス無限小方向へ):qは、yを超えない最大の整数です。

  • アップラウンド(または天井、またはプラスの無限大に向かってラウンドを取る):qyより小さくない最小の整数です。

  • ゼロ(又はトランケート、または離れて無限からラウンド)に向かってラウンド:qがその小数桁なし、yの整数部分です。

  • 離れゼロ(又は無限向かっラウンド)からラウンド:yが整数である場合、qyです。そうでなければqは0に最も近い整数であり、yが0とqの間にある整数です。

  • 最寄りにラウンド:q(タイブレークのルールについては以下を参照)yに最も近い整数です。

    • 切り捨て:あなたが見ることができるように

は、Javaとウィキペディアは、この定義に同意するラウンド

  • ゼロに向けたフロア:マイナス/負の無限大に向けたラウンド
  • JavaおよびWikipedia disa grees on what 丸みを帯びたを意味します。

    0

    整数を分割するので、結果は最も近い整数に丸められます。代わりに浮動小数点変数を使用してください。

    たとえば、質問の2番目の部分は、1.0/2.0 = 0.5です。 Javaの用語によると、「床の分裂」対「切り捨て部門」の質問が最高RoundingModeのjavadocツールによって回答され

    +0

    答えの最初の部分を言い換えてください。結果は丸められません。そうでない場合は2/3が1になります。正の場合は切り捨てられ、負の場合は切り上げられます。したがって、0に向かって丸です。 –

    +1

    質問はタイトルの実際の質問にも答えることのできない重複フラグで閉じられていますので、ここでいくつかの情報を追加します: 'Math.floorDiv()のJavaDocを読んでください。 '。分割された分割(通常の '/'演算子)は常に0に向かって丸められます(小数点の後ろのすべてが切り捨てられます)。 –

    関連する問題