我知道J有一个类似于xor ~:
的原语,但这实际上是not equal to (!=)
我可以通过在动词定义中说xor =: 4 : '#.((#:x)~:(#:y))'
来使其像按位xor一样运行,但这只适用于数字的二进制表示长度相同的情况。有没有什么我能做的就是制作一个完整的动词,使用if语句来制作相同大小的列表来制作一个按位xor。
如果你想知道,我问,因为我想重新创建我在J中用Java工作的Nim求解程序。
答案 0 :(得分:2)
J确实有一个原语,可以让你轻松地按位工作。主要是b.
,而词典中的its documentation会提供详细信息。您特别感兴趣的xor动词是6 b.
使用示例也可以在Rosetta Code条目Bitwise Operations中找到。