Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
については、との 1 つだけが負の場合、 と の結果はマシンに依存するint a, bことがわかっています。しかし、私はいつもゼロでないときを持っていますか?aba / ba % b(a / b * b) + a % b == ab
int a, b
a
b
a / b
a % b
(a / b * b) + a % b == a
C++11 §5.6[expr.mul]/4 は次を指定します。
商a/bが結果の型で表現できる場合、(a/b)*b + a%bは と等しくなりaます。
a/b
(a/b)*b + a%b
C11 §6.5.5/6 は、わずかに異なる言い回しで同じことを指定しています。
商a/bが表現可能な場合、式(a/b)*b + a%bは等しいものとしaます。それ以外の場合、 と の両方の動作a/bはa%b未定義です。
a%b