在java中,int a, int b
问 a + 0x80000000 > b + 0x80000000   比较出的是什么东西

解决方案 »

  1.   

    0x80000000是十六进制,转为int 是0. 
    0x80000000的二进制是 
    0100,0000,0000,0000,0000,0000,0000,0000 
    转化为int时,只取前四个字节,舍去多余的头,就是: 
    0000,0000,0000,0000 
    也就是0
      

  2.   

    false   -2147483648 与 -2147483648 之间的比较所以是FALSE
      

  3.   

    a + 0x80000000 > b + 0x80000000 
    结果是布而值
    加号运算优先级要高于 > 
    先进行 a + 0x80000000 和 b + 0x80000000
    然后进行 > 运算
    a、b 是整型 而0x80000000 8进制表现形式。会先把0x80000000转换为int 在运算
     
      

  4.   

    ox是十六进制的表现形式,那个东西的确是绝对值最大的负数,但我想问的是它比出的是a、b间的什么关系?
    还是谢谢了