在java中声明一个unsigned int

问题:

有没有办法在Java中声明一个unsigned int?
或者问题可能也是这样的:
什么是无符号的Java等价物?
 Just to tell you the context I was looking at Java’s implementation of String.hashcode(). I wanted to test the possibility of collision if the integer were 32 unsigned int.

回答:

Java没有unsigned integers
如果需要存储大值,则可以定义long而不是int,但无法排除负值。
但是,从Java SE 8开始,Integer类中有几种新方法允许您使用int数据类型to perform unsigned arithmetic

在Java SE 8及更高版本中,您可以使用int数据类型来表示无符号的32位整数,其最小值为0,最大值为2 ^ 32-1。使用Integer类将int数据类型用作无符号整数。诸如compareUnsigneddivideUnsigned等的静态方法已经被添加到Integer类中,以支持无符号整数的算术运算。

注意,当声明时,int变量仍然被签名,但是通过使用Integer类中的这些方法,现在可以进行无符号运算。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Declaring an unsigned int in java

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

49 − = 47