当前位置: 首页 > 面试题库 >

在Java中声明一个unsigned int

荆炳
2023-03-14
问题内容

有没有一种方法可以声明Java中的unsigned int?

或也可以这样构想这个问题:Java的unsigned等同于什么?

只是为了告诉你上下文,我正在查看Java的实现String.hashcode()。我想测试整数是否为32 unsigned int时发生冲突的可能性。


问题答案:

Java没有无符号整数的数据类型。

如果需要存储较大的值long,int则可以定义一个,而不是一个。

你也可以使用带符号的整数,就好像它是无符号的一样。二进制补码表示法的好处在于,对于有符号和无符号整数,大多数操作(例如加法,减法,乘法和左移)在二进制级别上都是相同的。但是,一些操作(除法,右移,比较和转换)是不同的。从Java SE 8开始,Integer该类中的新方法允许你完全使用int数据类型来执行无符号算术:

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

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



 类似资料:
  • 问题内容: 在Java中,你可以在一个文件中定义多个顶级类,条件是其中最多一个是公共的(请参见JLS§7.6)。参见以下示例。 是否有此技术整洁名(类似于)? JLS表示系统可能会强制执行这些二级类不能为的限制,例如,它们不能被视为程序包专用。这真的在Java实现之间有所改变吗? 例如,PublicClass.java: 问题答案: 对于这种技术,我建议的名称(在一个源文件中包括多个顶级类)将是“

  • 问题内容: 是否可以在Java的同一行中初始化和/或声明多个数组? 即。 工作,但 似乎不起作用(数组大小为4) 问题答案: 请记住 声明了5个整数,但只初始化了’e’。 同样地, 只会初始化e。 您需要类似 坦白说,这不值得一-而就…

  • 下面会对C语言、着色器语言ES GLSL、javascript语言和TypeScript语言声明变量的方式进行简单展示,这样可以更方便不同基础读者类比学习。 C语言 着色器语言ES GLSL和C语言有很多相似之处,如果你有一定的C语言基础,对于学习着色器语言也是有一定的帮助的。 // C语言声明一个整形变量并赋值10 int count = 10; // 改变变量值,重新赋值 count=20;

  • 问题内容: 我要实现的目标是创建一个包含多个功能的模块。 module.js: 我的问题是,这是一个对象类型,而这是一个URL字符串,但是当我遇到该问题时,它总是抱怨该类型是错误的。 在这种情况下,如何声明多个module.exports? 问题答案: 您可以执行以下操作: 要不就: 然后在调用脚本中:

  • 问题内容: 您使用关键字还是引发一些验证运行时异常?它给您带来什么好处,或者为什么您认为不值得使用呢? 问题答案: 如果条件为假,则声明将抛出运行时错误(AssertionError)。断言为您提供了一种简化的方式来记录,检查和强制执行代码的正确性标准。好处是用于定义和操纵这些正确性条件的语言级挂钩。如果您希望启用或禁用它们(存在一些关于是否是个好主意的争论),则可以从JVM命令行中启用。下面的一

  • 问题内容: 在JDK 1.7中,存在一个声明。 他们为什么要制造新的而不使用: 问题答案: 因为通过返回的 后盾 给定的数组。它包装该数组;数组的更改反映在中,反之亦然。 另外,因此,返回的此处具有固定大小。因此,它不能是因为可以增长或收缩。