代码之家  ›  专栏  ›  技术社区  ›  Eternal Noob

Java中的两个双倍异或

  •  7
  • Eternal Noob  · 技术社区  · 15 年前

    如何在JAVA中对两个double进行异或运算?

    简单的“^”不适用于双打。。。我需要将双精度转换成二进制形式并按位执行吗?还是有别的办法?

    1 回复  |  直到 15 年前
        1
  •  14
  •   Mark Elliot    15 年前

    如果要按位执行此操作,则需要使用 Double 要获取的实用函数 long 表示形式,然后在结尾处转换回双精度:

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