[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[WitchTech 00364] Re: 演算速度



# この話は comp.lang.c FAQ に出ていたような気がします ...

 > <200008181114.UAA12876@planar.cosmonet.org>
 > From: cdr@cosmonet.org
 > Date: Fri, 18 August 2000 20:18:24 +0900

 > 割り算がシフトにならないのは、被除数がマイナスのときに小数点以下を
 > 切り捨てるためだと思うのですが、割り算の切り捨て/切り上げの処理は
 > C言語の規格で決まっているのでしょうか。 それとも処理系依存でしょうか。

 > # 今K&Rが手元に無いもので...

# 厳密には K&R 見ても仕方ないです。付録 A も説明に過ぎないので。

ISO 9899-1990 なら 6.3.5 Multiplicative Operators  が該当個所と思います。

簡単に書くとオペランドが両方とも正なら切り捨て、どちらかが負なら
 (a/b) * b + a % b = a が要求されて、それ以外は処理系定義です。

# さがせば、C89 のドラフトは落ちてると思いますよ。前に書いたように 
rationale は Web で見れますし。自分でドキュメントを読んだほうが良いです。
(そのほうが、楽しいですよ ...)

-- 
なるなる



ML Archives