SQL 内按位与运算 &

来源:互联网 发布:客户资料整理软件 编辑:程序博客网 时间:2024/05/01 11:52

1.负数与正数
-4 & 10 :
-4转换二进制:1000 0100
10转换二进制:0000 1010
负数需要用补码(原码取反+1得补码,符号位不变),-4补码为:1111 1100
1111 1100 与 0000 1010 按位与得:0000 1000 = 8
所以-4 & 10 为 8

2.负数与负数
-3 & -7:
-3转换二进制:1000 0011,补码:1111 1101
-7转换二进制:1000 0111,补码:1111 1001
按位与得到:1111 1001
符号位为负数,需要转换:(补码-1取反码后得原码)1000 0111 = -7
所以-3 & -7 为 -7

3.正数与正数
5 & 15
5 转换二进制:0000 0101
15转换二进制:0000 1111
按位与得到:0000 0101 = 5
所以 5 & 15 为 5

今日学习 SQL Server 2008 R2 的内容

0 0