This question already has answers here:
How does Java handle integer underflows and overflows and how would you check for it?
                                
                                    (12个答案)
                                
                        
                                4年前关闭。
            
                    
Java API具有以下构造函数:

public Color(int rgba, boolean hasalpha)


我这样称呼它:

g.setColor(new Color(0xFF1874CD, true));


最大整数值为0x7FFFFFFF。为什么上面的0xFF1874CD不会引起溢出?

最佳答案

0xFF1874CD




  F    F    1    8    7    4    C    D
1111 1111 0001 1000 0111 0100 1100 1101


用十进制表示

-15174451


该数字可以表示为int

Java Language Specification状态


  类型的最大正十六进制,八进制和二进制文字
  int-每个代表十进制值2147483647(231-1)-
  分别是:

0x7fff_ffff,
[...]

  
  int类型的最负十六进制,八进制和二进制文字
  -每个代表十进制值-2147483648(-231)-分别是:

0x8000_0000,
[...]

关于java - 为什么0xFF1874CD不会在Java Color类中溢出int参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31798942/

10-11 22:25
查看更多