关于数字运算符值得注意的一点小问题

直接上代码

1
2
3
a-b<0
a<b
-a>-b

你认为三个表达式是一样的么?
呵呵。其实不然,

  1. 第二种是最安全的写法
  2. 第一种会出现溢出的问题

    出现溢出的原因在于,a为int的最小值,而b只要大于0,这个值就会溢出,还不用等到和0作比较

  3. 第三种由于数字类型是不对称的,也会导致溢出。

其实在其他的数字运算符中都会有这种问题,也是变成过程中需要注意的,也希望看到这片文章的人在使用过程中注意规避这些问题

坚持原创技术分享,您的支持将鼓励我继续创作!