∧、∨是数学(例如数理逻辑)中的二元逻辑运算符。前者是合取(逻辑与)运算,当且仅当两个运算数都为真时结果为真;后者是析取(逻辑或)运算,当且仅当两个运算数都为假时结果为假。在类C语言中,∧对应&&,∨对应||。当运算数只取0或1(或者表示为字面量false或true,有些语言如Java不允许隐式到整数0或1的转换)时,&&等价于位操作符&,||等价于位操作符|。在BASIC和其它一些语言中,∧对应AND,∨对应OR。
与类C语言规定不同的是,∧和∨的优先级不是一定的。有些作者把∧和∨当作相同优先级的运算符;另外一些作者把∧置于比∨更高的优先级(对应有&&优先级高于||)。
至于类C语言中的位操作符^,对应于数学中的逻辑异或运算(当且仅当两个运算数真值不同时结果为真),和这里的∧印刷出来应该有明显的区别。
====
[原创回答团]
多加几个库呗
你把需要移位的变量的数据类型定义为bit_vector试一下,注意给定位宽。