java 判断两个数是否异号

待我称王封你为后i 2021-06-10 20:42 509阅读 0赞

java 整型int占4个字节32位,两个数异或后移动31位判断结果,如果是1则异号,如果是0则同号

复制代码

  1. 1 public class ShowEnviromentViarible {
  2. 2
  3. 3 public static void main(String[] args) {
  4. 4 int num1 = 1;
  5. 5 int num2 = -1;
  6. 6 System.out.println("num1 = " + num1);
  7. 7 System.out.println("num2 = " + num2);
  8. 8 System.out.println((num1 ^ num2) >>> 31); //无符号移动31位,最左边补0
  9. 9 num1 = 1;
  10. 10 num2 = 1;
  11. 11 System.out.println("num1 = " + num1);
  12. 12 System.out.println("num2 = " + num2);
  13. 13 System.out.println((num1 ^ num2) >>> 31);
  14. 14 num1 = -1;
  15. 15 num2 = -1;
  16. 16 System.out.println("num1 = " + num1);
  17. 17 System.out.println("num2 = " + num2);
  18. 18 System.out.println((num1 ^ num2) >>> 31);
  19. 19 }
  20. 20
  21. 21 }

复制代码

output:

复制代码

  1. num1 = 1
  2. num2 = -1
  3. 1
  4. num1 = 1
  5. num2 = 1
  6. 0
  7. num1 = -1
  8. num2 = -1
  9. 0

复制代码

发表评论

表情:
评论列表 (有 0 条评论,509人围观)

还没有评论,来说两句吧...

相关阅读

    相关 判断List是否相等

    最近一位同学在面试时被问到如何比较两个list是否相等?Java中的list是按自然顺序排列的。因此,如果两个list包含相同顺序的完全相同的元素,则认为它们是相等的,如果忽略

    相关 判断线段是否相交

          已知线段AB,线段CD. 先来判断直线AB与线段CD是否相交,如果不相交,那么线段AB和线段CD肯定不相交。如果直线AB和线段CD已经相交,那么继续判断直线CD与线

    相关 判断矩形是否重叠

    判断两个矩形是否重叠 关于如何判断两个矩形重叠,这是我在实际项目开发当中曾经遇到过的问题:“判断图像中检测到的两个人脸框矩形是否有重叠部分,并计算重叠大小,从而确认是否为