java - 在 Java 中转换有符号整型常量

标签 java

简单的问题,我有一些定制的java,允许拥有32位硬件变量。 我想为这样的变量指定一个常量 32 位值,但是,此命令失败 在以下场景中:

HWINTVar a = const.var(toHWint(32), 0xf1234567);

但在这种情况下有效:

HWINTVar a = const.var(toHWint(32), 0x11234567);

第一种情况的错误消息是常量值中可能会丢失临界数量的位,其原因是我传递给此方法的常量是有符号的。有没有一种简单的方法可以让我在 Java 中将此常量值解释为无符号值?我尝试过:

 HWINTVar a = const.var(toHWint(32), (unsigned int) 0xf1234567);
 HWINTVar a = const.var(toHWint(32), (unsigned integer) 0xf1234567);

但这显然不能在 Java 中工作,因为它不支持无符号数据类型。知道如何做到这一点吗?

干杯!

最佳答案

正确表示该常量的唯一方法是使用 long 文字,即 0xf1234567L

假设您可以,更改 const.var 的定义,使其第二个参数为 long,并提取底部 32 位以将其放入您的 HWINTVar

关于java - 在 Java 中转换有符号整型常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13034249/

相关文章:

java - 在 Java 中将图像对象拆分为二维数组

java - Struts 未处理的异常 - 没有为操作定义结果 - Struts Spring & hibernate Integration

java - 使用分段上传将文件放入 Amazon S3

java - 自动完成 JTextField 和箭头键

java - Spring 5.x 中包 org.springframework.web.util.Log4jWebConfigurer 的替代品

java - Android-键盘打开时表单内容不调整

java - 电子邮件发送 Python 到 Java 转换

java - 如何从多线程应用程序打印到同一行

java - 验证保存在 txt 文件 Java 中的用户名和密码

Java - API 支持跟踪路由吗?