首页 > 解决方案 > GAP 中的位运算符

问题描述

是否能够在 GAP 编程语言中使用位运算符?例如,在 Python 中,可以执行以下操作:

a = 60            # 60 = 0011 1100 
b = 13            # 13 = 0000 1101 
c = 0

c = a & b;        # 12 = 0000 1100
c = a | b;        # 61 = 0011 1101 
c = a ^ b;        # 49 = 0011 0001
c = ~a;           # -61 = 1100 0011
c = a << 2;       # 240 = 1111 0000
c = a >> 2;       # 15 = 0000 1111

我希望能够在 GAP 中完成上述所有操作,但我似乎在文档中找不到任何内容。

这是文档的链接:https ://www.gap-system.org/Manuals/doc/ref/chap0.html

标签: bit-manipulationbitwise-operatorsgap-system

解决方案


不,没有直接可用的此类操作。根据您实际想要做的事情,您当然可以以各种方式“模仿”它们,但这不会那么有效。例如,您使用布尔列表(内部存储为位串),或 GF(2) 上的向量空间中的向量。


推荐阅读