gpt4 book ai didi

Java double 和 int 值之间的按位 AND 运算

转载 作者:行者123 更新时间:2023-12-01 18:55:59 25 4
gpt4 key购买 nike

我有一个 double 的纬度值,我想对其执行按位与运算,然后右移位。以下是我的代码行:

pBuffer[1]=(latitude_decimal_degrees & 0xFF0000) >> 16;

但是,无法在 double 和 int 值之间进行按位 AND 运算。我无法将纬度转换为 int,因为这不会产生准确的值。有人可以指导我吗?

编辑:我的要求基本上是将以下 vb.net 代码翻译成 java。原因:下面的代码行 (vb.net) 是用“Basic4Android”为 Android 应用程序编写的方法的一部分。在我的 BlackBerry 应用程序中实现完全相同的方法。因此,我需要生成如下完全相同的值,该值将在服务器端解码:

Dim pBuffer(11) As Int
Dim longitude_decimal_degrees As Double
pBuffer(1)=Bit.ShiftRight(Bit.And(latitude_decimal_degrees, 0xFF0000),16)

这几行代码如何翻译成java?

最佳答案

您可以使用 Double.doubleToRawLongBits(latitude_decimal_degrees) 将 double 型转换为长型在 long 空间中执行所有按位运算,然后通过 longBitsToDouble 转换回 double

另请参阅此答案:https://stackoverflow.com/a/4211117/504685

关于Java double 和 int 值之间的按位 AND 运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13928244/

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