设为首页 加入收藏

TOP

E.1.2 逻辑按位运算符(1)
2013-10-07 15:47:14 来源: 作者: 【 】 浏览:83
Tags:E.1.2 逻辑 运算

E.1.2  逻辑按位运算符(1)

逻辑按位运算符类似于常规的逻辑运算符,只是它们用于值的每一位,而不是整个值。例如,请看常规的非运算符(!)和位非(或求反)运算符(~)。!运算符将true(或非零值)转换为false,将false值转换为true。~运算符将每一位转换为它的反面(1转换为0,0转换为1)。例如,对于unsigned char值3:

 

表达式!x的值为0。要知道~x的值,先把它写成二进制形式:00000011。然后将每个0转换为1,将每个1转换为0。这样将得到值11111100,在十进制中,为252(图E.3是一个16位的例子)。新值是原值的补值。

按位运算符OR(|)对两个整数值进行操作,生成一个新的整数值。如果被操作的两个值的对应位至少有一个为1,则新值中相应位为1,否则为0(参见图E.4)。

 
图E.3  按位非运算符
 
图E.4  按位运算符OR

表E.1对∣运算符的操作方式进行了总结。

    < xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

b1 = 0

b1 = 1

b2 = 0

0

1

b2 = 1

1

1

运算符| =组合了按位运算符OR与赋值运算符的功能:

 
按位运算符XOR(^)将两个整数值结合起来,生成一个新的整数值。如果原始值中对应的位有一个(而不是两个)为1,则新值中相应位为1;如果对应的位都为0或1,则新值中相应位为0(参见图E.5)。
 
图E.5  按位运算符XOR


表E.2总结了^运算符的结合方式。

   

b1 = 0

b1 = 1

b2 = 0

0

1

b2 = 1

1

0

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇E.1.2 逻辑按位运算符(2) 下一篇E.2 成员解除引用运算符(2)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Shell 传递参数 (2025-12-25 00:50:45)
·Linux echo 命令 - (2025-12-25 00:50:43)
·Linux常用命令60条( (2025-12-25 00:50:40)
·nginx 监听一个端口 (2025-12-25 00:19:30)
·整个互联网就没有一 (2025-12-25 00:19:27)