在F#中, 按位运算符处理单个位, 并在求值后返回结果。
符号 | 描述 |
---|---|
&&& | 按位与运算符 |
||| | 按位或运算符 |
^^^ | 按位异或运算符 |
~~~ | 按位求反运算符 |
<<< | 按位左移运算符 |
>>> | 按位右移运算符 |
F#按位运算符示例
按位与运算符(&)将第一个操作数的每个位与第二个操作数的对应位进行比较。如果两个位都为1, 则将相应的结果位设置为1。否则, 将相应的结果位设置为0。
let bitwise(a:uint16, b:uint16) =
printfn "%X" (a &&& b)
printfn "%X" (a ||| b)
bitwise(0xFFFFus, 0xAAAAus)
在上面的代码中, 0xFFFF是一个十六进制数, 它等效于二进制? 1111。
0xAAAA是一个十六进制值, 它等效于二进制? 1010。
因此, 如果我们手动进行操作, 例如-1111 &&& 1010 = 1010, 则等于十六进制的AAAA。
输出:
AAAA
FFFF
评论前必须登录!
注册