C语言课件-位运算.ppt

上传人:max****ui 文档编号:6335054 上传时间:2020-02-23 格式:PPT 页数:12 大小:323.81KB
返回 下载 相关 举报
C语言课件-位运算.ppt_第1页
第1页 / 共12页
C语言课件-位运算.ppt_第2页
第2页 / 共12页
C语言课件-位运算.ppt_第3页
第3页 / 共12页
点击查看更多>>
资源描述
C语言程序设计 信息工程学院施莹2020年2月 第12章位运算 C语言是为描述系统而设计的 其功能应当具有汇编的功能故C语言具有高级语言的的功能 也肯定低级语言的功能 具有低级语言的功能主要表现在对位的操作上 12 1位运算符和位运算 说明 1 位运算符中除 以外 均为二目 元 运算符 即要求两侧各有一个运算量 2 运算量只能是整型或字符型的数据 不能为实型数据 按位与 运算符 与运算的规则 0 0 00 1 01 0 01 1 1 00000100 按位与运算的作用 清零要求符合的条件 原来的数中为1的位 新数中相应位为0 取出指定位只要在指定位处取1保留数中的某几位只要在对应的保留数位处取1 例 a 0010110010101100 b 0000000011111111 c 0000000010101100 按位或运算 或运算规则 0 0 00 1 11 0 11 1 1 按位或的作用 将指定位置 1 00000101 例 a 0010110010101100 b 0000000011111111 c 0010110011111111 异或运算符 异或运算的规则 0 0 00 1 11 0 11 1 0 00000001 按位异或运算的作用 使特定位翻转0 1 11 1 0 例编程实现求无符号数a的相反数 unsignedinta a a 0 xffffa iint 取出指定位0 0 01 0 1 例 取出整型变量a的低8位inta a a 0 x0000 例 假设有a 01111010 使其低4位翻转 01111010 00001111 01110101 交换两个值 不用临时变量 程序举例 例将整型数a b相互交换 不使用临时变量 includemain intx y printf Enterintegersxandy n scanf d d x 011 y 100 x 111 y 100y 011 x 111x 100 取反运算符 异或运算的规则 0 1 1 0 11111010 右移运算符 右移运算的规则 右边的舍弃对于无符号数 左边补 0 对于有符号数 左边补最高位 例unsinged5 20000010100000001右移相当于 2 左移运算符 左移运算的规则 左边的舍弃 右边补 0 例5 20000010100010100左移一位相当于 2 但此结论只适用于该数左移时被溢出舍弃的高位中不包含1的情况 位运算赋值运算符位运算符与赋值运算符可以组成复合赋值运算符如 例如 a ba a ba 2a a 2 12 2位运算举例 例1 取一个整数a从右端开始的4 7位 先使a右移4位 设置一个低4位全位1 其余全为0的数 0 4 将上面两者进行 运算 a 4 0 4 a 4 程序实现 main unsigneda b c d scanf o 例2 循环移位 要求将a进行右循环移位 见图 将a的右端n位先放到b中的高位n位中 b a n 将c与b进行按位或运算 c c b 程序实现 main unsigneda b c intn scanf a o n d 今天作业题 1 变量a b均被声明为短整型 shortint 类型 分别写出执行下列语句后a b的值 1 a 4 b 5 a
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!