-1

我的目标是能够使用格雷码将 -4.0 和 4.0 之间的任何数字转换为 5 位二进制字符串。我还需要能够转换回十进制。

感谢您的任何帮助,您可以提供。

如果有帮助,这里的大局是我从神经网络中获取权重并将它们变异为二进制字符串。

4

1 回答 1

1

如果只有 5 位可用,则只能编码 2^5 = 32 个不同的输入值。
格雷码很有用,如果在输入值变化缓慢时,编码值中的每个变化只有一位。
所以也许最直接的实现是将你的输入范围 -4.0 到 4.0 映射到整数范围 0 … 31,然后用标准格雷码表示这些整数,可以很容易地转换回 0 … 31,然后到 - 4.0 到 4.0。

于 2019-03-07T19:23:33.647 回答