Haskell中执行位运算需导入哪些模块?代码报错求助
解决Haskell位运算符编译错误问题
你的代码已经导入了正确的模块(Data.Word和Data.Bits),问题出在位运算符的使用方式上:
Haskell中,Data.Bits模块提供的按位与运算符是.&.,而你代码里写的&是Control.Monad模块中的绑定运算符,和位运算完全无关,所以编译器提示“变量不在作用域中”。
修正后的代码如下:
import Data.Word import Data.Bits mask = 0xff :: Word64 v = 98213 :: Word64 lsb = mask .&. v
现在运行代码就能正常编译了,.&.会正确计算mask和v的按位与结果。
内容的提问来源于stack exchange,提问作者azani
相关产品推荐
相关产品推荐

