📅  最后修改于: 2021-01-01 04:37:39             🧑  作者: Mango
在F#中,按位运算运算符处理单个位,并在求值后返回结果。
Symbol | Description |
---|---|
&&& | Bitwise And operator |
||| | Bitwise OR operator |
^^^ | Bitwise exclusive OR operator |
~~~ | Bitwise negation operator |
<<< | Bitwise left shift operator |
>>> | Bitwise right shift operator |
按位与运算符(&)将第一个操作数的每个位与第二个操作数的对应位进行比较。如果两个位均为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