2

我知道 J 有一个像 xor 一样工作的原语~:,但这确实是not equal to (!=)

我可以通过说:在动词定义中使它像按位异或一样xor =: 4 : '#.((#:x)~:(#:y))'起作用,但这仅在数字的二进制表示长度相同时才有效。除了制作一个完整的动词之外,我还能做些什么,该动词使用 if 语句来制作相同大小的列表以进行按位异或。

如果你想知道,我问是因为我想重新创建我在 J 中用 Java 工作的 Nim 求解程序。

4

1 回答 1

2

J 确实有一个原语,可以让您轻松地按位工作。该主要是b.及其在字典中的文档提供了详细信息。你特别感兴趣的异或动词是6 b.

使用示例也可以在 Rosetta 代码条目Bitwise Operations中找到。

于 2011-02-20T23:45:46.917 回答