J是否有内置的按位xor原语?

时间:2010-07-30 16:04:40

标签: bitwise-operators xor j

我知道J有一个类似于xor ~:的原语,但这实际上是not equal to (!=)

我可以通过在动词定义中说xor =: 4 : '#.((#:x)~:(#:y))'来使其像按位xor一样运行,但这只适用于数字的二进制表示长度相同的情况。有没有什么我能做的就是制作一个完整的动词,使用if语句来制作相同大小的列表来制作一个按位xor。

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

1 个答案:

答案 0 :(得分:2)

J确实有一个原语,可以让你轻松地按位工作。主要是b.,而词典中的its documentation会提供详细信息。您特别感兴趣的xor动词是6 b.

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