gpt4 book ai didi

java - C/C++ long long 到 Java long

转载 作者:行者123 更新时间:2023-11-29 03:58:33 24 4
gpt4 key购买 nike

我正在读取磁盘上的一个文件,该文件是由 c/c++ 代码编写的。我知道我有两个 64 位无符号整数要读取,但 Java 不支持无符号整数,所以我在执行 DataInputStream.readLong() 时得到的值不正确。 (暂时忽略字节顺序,我实际上使用的是 DIS 的一个衍生产品,称为 LEDDataInputStream,它是我从网上下载的)

这里的很多帖子都在谈论使用 BigInteger,但是用于读取字节数组的 javadoc 只讨论加载字节数组表示,而且问题似乎集中在这样一个事实,即有些人超出了 java long 类型的正边界,我将远离我正在阅读的数据。

我有一个 MATLab/Octave 脚本,它读取这些 long long 值每个作为两个 32 位整数,然后进行一些乘法和加法以获得它想要的答案。

我想问题是——如何使用 BigInteger 或 [LE]DataInputStream.XXX 读取 64 位无符号整数?

提前致谢

最佳答案

我建议使用 ByteBuffer然后使用类似 this 的代码得到你想要的。

关于java - C/C++ long long 到 Java long,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4944789/

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