sql中有没有按位与运算符
1个回答
展开全部
当然有啊
1.&(位与)
上下运算,按照与的运算规则:0&0=0 ;0&1=0;1&1=1
例如:
170 & 75 结果为:0000 0000 0000 1010
再把二进制转换为十进制:10
2.~(位非)
运算法则:0变1,1变0
~170 的二进制:1111 1111 0101 0101 十进制为:-171
~75 的二进制:1111 1111 1011 0100 十进制为:-76
3.|(位或)
上下运算,按照与的运算规则:0&0=0 ;0&1=1;1&1=1
例如:
170 & 75 结果为:0000 0000 1110 1011
再把二进制转换为十进制:235
4.^(位异或)
上下运算,按照与的运算规则:0&0=0 ;0&1=1;1&1=0
例如:
170 & 75 结果为:0000 0000 1110 0001
再把二进制转换为十进制:225
位移
“<<”用法:
格式是:a<<m,a和m必须是整型表达式,要求m>=0。
功能:将整型数a按二进制位向左移动m位,高位移出后,低位补0。
“>>”用法:
格式是:a>>m,a和m必须是整型表达式,要求m>=0。
功能:将整型数a按二进制位向右移动m位,低位移出后,高位补0//有符号的数还是要以机器而定.
先左移8位,再右移8位,能把key的高8位清成0
假如key=0100110110010011的话(二进制)
先执行key<<8,key=1001001100000000
再执行key>>8,key=0000000010010011
1.&(位与)
上下运算,按照与的运算规则:0&0=0 ;0&1=0;1&1=1
例如:
170 & 75 结果为:0000 0000 0000 1010
再把二进制转换为十进制:10
2.~(位非)
运算法则:0变1,1变0
~170 的二进制:1111 1111 0101 0101 十进制为:-171
~75 的二进制:1111 1111 1011 0100 十进制为:-76
3.|(位或)
上下运算,按照与的运算规则:0&0=0 ;0&1=1;1&1=1
例如:
170 & 75 结果为:0000 0000 1110 1011
再把二进制转换为十进制:235
4.^(位异或)
上下运算,按照与的运算规则:0&0=0 ;0&1=1;1&1=0
例如:
170 & 75 结果为:0000 0000 1110 0001
再把二进制转换为十进制:225
位移
“<<”用法:
格式是:a<<m,a和m必须是整型表达式,要求m>=0。
功能:将整型数a按二进制位向左移动m位,高位移出后,低位补0。
“>>”用法:
格式是:a>>m,a和m必须是整型表达式,要求m>=0。
功能:将整型数a按二进制位向右移动m位,低位移出后,高位补0//有符号的数还是要以机器而定.
先左移8位,再右移8位,能把key的高8位清成0
假如key=0100110110010011的话(二进制)
先执行key<<8,key=1001001100000000
再执行key>>8,key=0000000010010011
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询