第11章 位 运 算

第11章 位 运 算

ID:42370684

大小:1.41 MB

页数:12页

时间:2019-09-13

第11章  位 运 算_第1页
第11章  位 运 算_第2页
第11章  位 运 算_第3页
第11章  位 运 算_第4页
第11章  位 运 算_第5页
资源描述:

《第11章 位 运 算》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第11章位运算位运算是指对二进制位进行的运算。每个二进制位中只能存放0或1。因此,位运算就是对二进制数的运算。通常,将一个数据用二进制数表示后,最右边的二进制位称为最低位(第0位),最左边的二进制位为最高位。在C语言中共提供了6种位运算符,11.1二进制位运算位运算符意义&

2、^~<<>>按位与按位或按位异或按位取反左移右移(1)在这6种位运算符中,其中按位取反是单目运算符,只有一个运算对象,其他均为双目运算符,有两个运算对象。(2)位运算的运算对象只能是整型(包括int,short,long和unsig

3、ned)或字符型数据,而不能是实型数据。(3)各位运算符的优先级比较分散,与其他运算符一起,其优先级从高到低如下:逻辑非(!)按位取反(~)算术运算符左移运算符(<<)和右移运算符(>>)关系运算符按位与运算符(&),按位异或运算符(^),按位或运算符(

4、)&&与

5、

6、赋值运算符1.“按位与”运算符(&)“按位与”的运算符为“&”。其运算规则是:若两个运算对象的对应二进制位均是1,则结果的对应位是1,否则为0。利用“按位与”运算可以实现以下功能:(1)取出数据中指定的位(2)将数据中的指定位

7、清零2.“按位或”运算符(

8、)“按位或”的运算符为“

9、”。其运算规则是:若两个运算对象的对应二进制位中有一个是1,则结果的对应位是1,否则为0。3.“按位异或”运算符(^)“按位异或”的运算符为“^”。其运算规则是:若两个运算对象的对应二进制位不相等,则结果的对应位是1,否则为0。“按位异或”运算具有以下几个性质:(1)使数据中的某些位取反,即将0变为1,1变为0。(2)同一个数据进行异或运算后,其结果为0。利用异或运算的这个性质,可以将变量清零。(3)可以实现交换两个变量的值:4.“按位取反”运算符(

10、~)“按位取反”的运算符为“~”。其运算规则是:将运算对象中的各二进制位值取反,即将0变为1,1变为0。5.“左移”运算符(<<)“左移”运算符为“<<”。其运算规则是:将运算对象中的每个二进制位向左移动若干位,从左边移出去的高位部分被丢弃,右边空出的低位部分补0。6.“右移”运算符(>>)“右移”运算符为“>>”。其运算规则是:将运算对象中的每个二进制位向右移动若干位,从右边移出去的低位部分被丢弃。但左边空出的高位部分是补0还是补1,要视下列具体情况而定:若右移对象为无符号整型数,则右移后左边空出的高

11、位部分补0。若右移对象为一般整型数或字符型数据,当该数据的最高位为0(对于一般整型来说即为正数),则右移后左边空出的高位部分补0。当该数据的最高位为1(对于一般整型来说即为正数),则与使用的计算机系统有关,有的计算机系统将右移后左边空出的高位部分补1,称为“算术右移”;有的计算机系统将右移后左边空出的高位部分补0,称为“逻辑右移”。在C语言中,定义位段结构类型的一般形式为struct位段结构类型名{成员表};11.2位段在定义位段与使用位段时,要注意以下几个问题:(1)位段成员的类型必须是unsigne

12、d型。(2)在位段结构类型中,可以定义无名位段,这种无名位段具有位段之间的分隔作用。(3)每个位段(成员)所占的二进制位数一般不能超过一个字长(即一个存储单元)。(4)在位段结构类型定义中,可以包含非位段成员。(5)位段可以在一般的表达式中被引用,并被自动转换为相应的整数。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。