欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    (高职)C语言程序设计模块九位操作训练ppt课件.pptx

    • 资源ID:15330090       资源大小:398.73KB        全文页数:28页
    • 资源格式: PPTX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    (高职)C语言程序设计模块九位操作训练ppt课件.pptx

    C语言程序设计模块九位操作训练ppt课件模块九模块九 位操作训练位操作训练能力目标 理解位运算的含义及使用方法; 了解位段的定义、存储及使用方法。知识准备知识准备引例任务 不用第三个变量,完成两个变量值的交换。不用第三个变量,完成两个变量值的交换。方案一:传统算法是通过第三个变量完成交换。#void swap1(int *a,int *b) int temp; temp=*a; *a=*b; *b=temp;程程序序清清单单方案二:加减运算,把第一个变量当缓冲变量用。void swap2(int *a,int *b) *a=*a+*b; *b=*a-*b;/b中放原来a中的值 *a=*a-*b;/ 用这1条语句a = a + b - (b = a); 代替3条语句程序清单程序清单方案三:乘除运算,是把第一个变量当缓冲变量用。void swap3(int *a,int *b) *a=(*a)*(*b); *b=(*a)/(*b);/b中放原来a中的值 *a=(*a)/(*b); / 用这1条语句a = a + b - (b = a); 代替3条语句程序清单程序清单方案四:异或运算。#include stdio.hvoid swap4(int *a,int *b) *a=*a*b; *b=*a*b; *a=*a*b;int main() int a=123,b=321; swap1(&a,&b);printf(a=%d,b=%dn,a,b); swap2(&a,&b); printf(a=%d,b=%dn,a,b); swap3(&a,&b); printf(a=%d,b=%dn,a,b);swap4(&a,&b);printf(a=%d,b=%dn,a,b); return 0;程序清单程序清单输出结果输出结果 a=321,b=123a=123,b=321a=321,b=123a=123,b=321说明v 位运算符中除了“” 以外,均为二元运算符。v 运算量应为整型或字符型的数据。9.1 按位与运算(&) 位(bit):二进制位是计算机中最小的信息单位:n位二进制能表达2n个信息。 第7位第6位第5位第4位第3位第2位第1位第0位MSB LSB10010101做中学做中学9-1 9-1 设有设有X=10X=10,Y=8Y=8,Z=X&YZ=X&Y(按位与),求(按位与),求Z Z的值。的值。#includevoid main() int X=10,Y=8; int Z; Z=X&Y; printf(“Z=%dn”;Z);程序清单程序清单输出结果输出结果 Z=8知识点 运算规则 只有对应的位都为1时,按位与运算的结果才为1,其他的情况均为0,即: 0&0=0 0&1=0 1&0=0 1&1=1 示例分析:X=(10)10=(00001010)2,Y=(8)10=(00001000)2 X00001010&Y00001000 Z00001000 按位与运算的用途v 可以对某位进行清0操作方法:将需要清0的对应位与0进行按位与操作即可。例如:若将00010011的低四位清0,只需将其低4位与0相与,高4位与1相与即可,也就是进行以下操作: 00010011&11110000 00010000 可以提取指定位 方法:将需要提取的位与1进行按位与操作即可 例如:假设有X=l0101110B,想取X的低4位。将X与Y=00001111B相与,即可得到X的低4位。则有: 10101110&00001111 00001110#includevoid main() int X=12,Y=9; int Z; Z=X|Y; printf(“Z=%dn”;Z);程序清单程序清单输出结果输出结果 Z=139.2 按位或运算(|)做中学做中学9-2 9-2 假设有假设有“X=12X=12,Y=9Y=9,Z= X | YZ= X | Y(按位或)(按位或)”,则求则求Z Z 的值。的值。知识点 运算规则 只有对应的位都为0时,按位或运算的结果才为0,其他的情况均为1,即:0|0=0 0|1=1 1|0=1 1|1=1 示例分析:X=(12)10=(00001100)2,Y=(9)10=(00001001)2 X00001100|Y00001001 Z00001101 位或运算的用途 主要是对数据的某些位进行置1操作。 方法:将需要置1的位与1进行按位或操作即可。 例如:假设有X=11010010B,想使X的低4位为l。可将X与Y=0000llllB按位相或。则有: 11010010|00001111 11011111#includevoid main() int X=10,Y=8; int Z; Z=XY; printf(“Z=%dn”;Z);程序清单程序清单输出结果输出结果 Z=29.3 按位异或运算()做中学做中学9-2 9-2 设有设有X=10X=10,Y=8Y=8,Z=XYZ=XY(按位异或),求(按位异或),求Z Z的值。的值。知识点 运算规则 参与按位异或运算的两个二进制位如果值相同,则结果为0,如果不同则结果为1.即: 00=0 01=1 10=1 11=0示例分析:X=(10)10=(00001010)2,Y=(8)10=(00001000)2根据“异或”的运算规则,有: X00001010Y00001000 Z00000010 按位异或运算的用途v 与0异或,可以保留原值 方法:原数中的1与0进行异或运算得1,0与0异或运算的0。 例如:将29与0按位异或可以保留29。具体如下: 0001110100000000 00011101v 将特定位翻转方法:要翻转的位与1异或运算,其余位与0异或运算。例如:假设有X=10101110B,则想使X的低4位翻转。根据“按位异或“的运算规则,可将X与Y00001111B按位相异或,则有: 1010111000001111 10100001v 实现两个变量值的交换 9.1任务引例的方案四就是利用异或运算完成了两个变量值的交换。 例如:a=5,b=4,利用异或运算完成a=4,b=5。具体如下: a=ab=101100=001 b=ab=001100=101 a=ab=101001=100 完成了a,b的交换。#includevoid main() int X=10; int Z; Z=X; printf(“Z=%dn”;Z);程序清单程序清单输出结果输出结果 Z=119.4 按位取反运算()做中学做中学9-4 9-4 设有设有X=10X=10,Z=XZ=X(按位取反),求(按位取反),求Z Z的值。的值。知识点 运算规则 对一个二进制数按位取反,即将0变为l,1变为0。 示例分析:X=(10)10=(00001010)2,根据“取反”的运算规则,有:即Z=X=(11110101)2=(-11)10X00001010 Z11110101 注意事项v 单目运算符,具有右结合性;v 运算符的优先级别最高。 9.5 左移运算() 语法格式:an 运算规则:在移位过程中,各个二进制位顺序向左移动,右端空出的位补0,移出左端之外的位则被舍弃。 例如:假没有X=10,其二进制的存储形式为00001010,将X左移2位,即X=X2,求X的值。 9.6 右移运算(n 运算规则:v 对于无符号数最高位即左端空出的位一律补0;v 对于有符号数:正数则最高位补0,如果为负数,左端最高位补0还是补1则取决于所用的C编译系统。v 例如:有数X=10010001B X1:01001000B(逻辑右移) X1:11001000B(算术右移)#include void main() int x,y; printf(请输入一个16进制表示的正整数:); scanf(%x,&x); y=0; y=y; y4; x&=y; printf(该数的4-7位用十六进制表示是:%xn,x);程程序序清清单单9.7 复合赋值位运算做中学做中学9-5 9-5 将变量将变量x x的的 4-74-7位看成一个整数值,求这个值的大小。位看成一个整数值,求这个值的大小。程序运行程序运行 请输入一个16进制表示的正整数:acde该数的4-7位用十六进制表示是:d边学边练边学边练 将十进制数转换为二进制形式。 编写一个位运算演示器,该程序能演示计算机中每位二进制位运算的运算过程。总结归纳总结归纳 定义功能 位运算符 位段

    注意事项

    本文((高职)C语言程序设计模块九位操作训练ppt课件.pptx)为本站会员(春哥&#****71;)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开