C语言:
逻辑运算符(|| && !)结果为0或1
位运算符 (<< >> ~ | ^ & )
a<<b (左移):将a转为二进制,然后每位向左移b位,右端补0
a>>b (右移):将a转为二进制,然后每位向右移b位,左端补0
将左边操作数向箭头所指方向移右边操作数位
~a (按位非) :将a转为二进制,然后每位上0变成1,1变成0
a^b (按位异或):将a,b转成二进制,对应位相同则为0,不同则为1
a | b (按位或) :将a,b转成二进制,对应位只要有一个为1则为1(同为0则为0)
a&b (按位与) :将a,b转成二进制,对应位只要有一个为0则为0 (同为1则为1)
逻辑运算符(|| && !)结果为0或1
位运算符 (<< >> ~ | ^ & )
a<<b (左移):将a转为二进制,然后每位向左移b位,右端补0
a>>b (右移):将a转为二进制,然后每位向右移b位,左端补0
将左边操作数向箭头所指方向移右边操作数位
~a (按位非) :将a转为二进制,然后每位上0变成1,1变成0
a^b (按位异或):将a,b转成二进制,对应位相同则为0,不同则为1
a | b (按位或) :将a,b转成二进制,对应位只要有一个为1则为1(同为0则为0)
a&b (按位与) :将a,b转成二进制,对应位只要有一个为0则为0 (同为1则为1)
位运算赋值运算符类推复合赋值运算符
java:
逻辑运算符(|| && !)结果为true或false
位运算符 (左边为高位)
a<<b :将a转为二进制,然后每位向左移b位,右端补0
a>>b :将a转为二进制,然后每位向右移b位, 如果值为正,高位补0;如果值为负,高位补1.
a>>>b:将a转为二进制,然后每位右移b位,无论值正负,都在高位补0.
(其他和C语言一样)