-1
的表达式如下需要了解评估给定表达式的解释
(ux-uy) == -(unsigned) (y-x)
其中x
和y
是随机整数和ux
和uy
声明和定义如下
unsigned ux = (unsigned) x;
unsigned uy = (unsigned) y;
我测试的用c表达各种数字,这是正确的 ,但我不能证明它为什么是正确的。请解释。
的表达式如下需要了解评估给定表达式的解释
(ux-uy) == -(unsigned) (y-x)
其中x
和y
是随机整数和ux
和uy
声明和定义如下
unsigned ux = (unsigned) x;
unsigned uy = (unsigned) y;
我测试的用c表达各种数字,这是正确的 ,但我不能证明它为什么是正确的。请解释。
y-x
- >未定义的行为应该是int
减法溢出。
所以平等(ux-uy) == -(unsigned) (y-x)
一般失败。
是否签名是否是ux - uy == - (uy - ux)?你认为它是一个数学问题,你会看到发生了什么。 –
做一个个案分析,即当x大于y乘n时,y大于x乘n,相等。 – perreal
我对RHS面前的 - 标志感到困惑。它究竟做了什么? – user1335175