gpt4 book ai didi

java - 将 4 字节无符号整数(来自文件)与 java 中定义的整数值进行比较

转载 作者:行者123 更新时间:2023-11-30 04:01:47 24 4
gpt4 key购买 nike

我有一个文件,其中包含要以小端二进制格式读取的数据。为了解析文件,我首先读取一个 4 字节无符号整数,然后根据该整数的值,执行不同的读取例程。

使用 ByteBuffer 和 this answer ,我可以将 4 字节 unsigned int 读取为 long。但在我的代码中,我想使用 switch 语句,而 java 不允许在 long 上切换。

由于我只是检查是否相等,因此可以将 4 个字节作为有符号整数读取并将其与我的已知值进行比较。然而,我的引用值都定义为无符号整数(例如0xc15ab354)。有没有好的方法将它们转换为有符号整数(是的,可以手动完成,但这会引入错误的可能性)进行比较,或者更好的比较方法?

最佳答案

这很简单。如果您仅使用 0xc15ab354 作为 int 文字,您将获得具有精确二进制表示形式的有符号整数,因此您可以直接在 switch< 中使用它 语句,就这样。

关于java - 将 4 字节无符号整数(来自文件)与 java 中定义的整数值进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21805534/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com