用Java对两个双打进行异或


问题内容

如何在JAVA中对两个双打进行XOR?

简单的“ ^”不适用于双打…我是否必须将双打转换为二进制形式并按位进行?或还有其他方法吗?


问题答案:

如果您打算按位执行此操作,则需要使用Double实用程序函数来获取long表示形式,然后最后将其转换回double形式:

double c = Double.longBitsToDouble(
    Double.doubleToRawLongBits(a) ^ Double.doubleToRawLongBits(b));