因为int a, b,我知道当只有一个a并且b是否定的时候,结果a / b和a % b机器有关.但是,我什么(a / b * b) + a % b == a时候b不是零?
Jam*_*lis 18
C++11§5.6[expr.mul]/4指定:
如果商
a/b在结果类型中可表示,(a/b)*b + a%b则等于a.
C11§6.5.5/ 6规定了相同的措辞略有不同:
如果商
a/b是可表示的,则表达式(a/b)*b + a%b应相等a; 否则,双方的行为a/b和a%b不确定.