有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java将双值编码为二进制字符串

考虑到双值的精度(本例中为1.234-精度为3),我试图在一段时间内(比如在“a”和“b”之间)将双值编码为二进制字符串(在Java中)。结果字符串的长度应该相等

我试过使用:

String binaryForm = Long.toBinaryString(Double.doubleToRawLongBits(n));

不幸的是,结果字符串的长度不相等

有什么想法吗?产生的字符串将被用作遗传算法中的染色体


共 (1) 个答案

  1. # 1 楼答案

    使用@rgetman的建议,但将0和c=b-a之间的值标准化。因此,双输入n的新值(m)为:

    m = n - a
    

    然后从零到64。所有输入均为正