欢迎来到天天文库
浏览记录
ID:50043083
大小:216.00 KB
页数:23页
时间:2020-03-08
《C及C++程序设计 第3版 教学课件 张富 第6章-位运算.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章位运算这一章要学习C语言中的位运算及位运算的应用。位运算符及位运算表达式6.1位逻辑运算6.2移位运算6.3位自反赋值运算6.4小结6.56.1位运算符及位运算表达式位运算是对二进制数据以位为单位(bit)进行的运算。C语言提供了六种位运算符。参加运算的操作数可以是char类型、int类型和long类型的变量或常量。实型是不能进行位运算的。表6-1列出了所有位操作的运算符。在六种位运算符中,位非、位与、位加和位或称为位逻辑运算符。另两个是位移位运算符。按位运算中也有位自反赋值运算符五种。位逻辑运算是把运算对象的每个二进制位上的“0”或“1”
2、看作是逻辑值。逐位进行逻辑运算。位逻辑运算符的运算规则,如表6-2所示。需要特别注意是,位运算中的“与”、“或”和“非”是与第4章介绍的逻辑运算中的“与”、“或”和“非”不同的。这里强调的是按(二进制)位的运算。按位运算符把操作对象看作是二进制数,并以位为单位对它们进行运算,运算的结果为整型数,可用十进制数、八进制数或十六进制数表示。第4章介绍的逻辑运算是两种逻辑值(真和假)之间的运算,运算的结果,也只有真和假两种可能的结果。移位运算的优先级排在算术运算之后,关系运算之前。由位运算符连接的表达式称为位运算表达式。6.2位逻辑运算表6-2给出四种按
3、位逻辑运算符的运算规则。表中a和b是位运算对象的二进制位值。6.3移位运算位移运算符是把数据看作为二进制数,对其进行向左或向由移动一位或若干位的运算。位移运算表达式的一般格式如下。右移运算:变量>>移位的位数左移运算:变量<<移位的位数移位的规则如图6-1所示。图6-1移位运算规则示意图左位移位时,无论是带符号数还是无符号数,左边被移出的位丢弃,右边的空位补入0。右移位时,要区分数是否带有符号。对于无符号数,右移时,右边被移出的位丢弃,左边的空位补入0。对于带符号数,右移时,右边被移出的位丢弃,左边的空位补入原符号位的值。6.4位自反赋值运算位自
4、反赋值运算和算术自反赋值运算一样,它的格式是:变量OP=表达式位自反赋值运算符共有五个,其运算符如下:&=位与赋值
5、=位或赋值^=位按位加赋值<<=位左移赋值>>=位右移赋值位自反赋值运算符与赋值运算符和算术自反运算符是同级的,只高于逗号运算符,低于所有其他运算符。其结合性是自右向左。位自反赋值运算符的运算规则如下:y&=(x)相当于y=y&(x)y
6、=(x)相当于y=y
7、(x)y^=(x)相当于y=y^(x)y>>=(x)相当于y=y>>(x)y<<=(x)相当于y=y<<(x)式中(x)是表达式。先算出表达式的值,然后再与y进行位运算。小结本
8、章介绍了C语言中具有特色的操作:位运算操作及其应用。位运算很大程度上可以代替汇编程序所能解决的问题。
此文档下载收益归作者所有