15
如何避免expr中的溢出。A B C D
我需要计算一个看起来像:的表达式 A*B - C*D,其类型为:signed long long int A, B, C, D; 每个数字都可以很大(不会溢出其类型)。虽然A*B可能导致溢出,但表达式A*B - C*D的确很小。如何正确计算? 例如:MAX * MAX - (MAX - 1) * (MAX + 1) == 1,其中MAX = LLONG_MAX - n和n-一些自然数。
161
c++
c
integer-overflow