- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
PAGE 4
PAGE 4
周次:第 周 课次:第一课 授课时间:年 月 日
章节内容:
第9章 位运算
教学目标:
通过本章的学习,要求能理解二进制位运算操作和位段结构,能熟练使用位运算符进行程序设计的方法,学习位操作能够为硬件平台的程序设计奠定基础。为后续课程的学习起到铺垫作用。
教学重点:
掌握位逻辑运算;
掌握移位运算;
掌握复合赋值位运算。
教学难点:
掌握不等长数据的位运算。
理解位段的结构、存储及使用
教学方法和授课手段
多媒体教室,电子课件。
教学过程:
预备(复习):结构体、共用体、枚举类型。(5分钟)
课前提问(5 分钟)
课程引入:介绍二进制运算的基本知识,原码,反码,补码。(10分钟)
课程新授:(60分钟)
9.1 位运算的C程序实例
位运算引例
【例9.1】一个简单的位运算C程序
/*
源文件名:Li9_1.c
功能:从键盘输入两个整数a和b,分别对其进行位运算。
*/
#include stdio.h
void main()
{
int a,b;
int e,f,g,h,i;
puts(请输入整数a和b:); /*打印输出一串字符串*/
scanf(%d%d,a,b); /*假如这里输入的值为a=2,b=3*/
/*那么转化为二进制位有a=2,b=2 ,进行如下运算*/
e=a|b; /*a与b进行或运算,结果存入到变量e中*/
f=ab; /*a与b进行与运算,结果存入到变量f中*/
g=a^b; /*a与b进行异或运算,结果存入到变量g中*/
h=~a; /*对a进行取反运算,结果存入到变量h中*/
i=b2; /*对b进行左移2位运算,结果存入到变量i中*/
printf(e=%d\n,e);
printf(f=%d\n,f);
printf(g=%d\n,g);
printf(h=%d\n,h);
printf(i=%d\n,i);
}
9.2 二进制位运算
9.2.
位逻辑运算用来对某一个或某一对二进制位进行操作,其运算符有以下几个:
~表示按位取反
表示按位与
∣表示按位或
^ 表示按位异或
除了~是一元运算符外,、∣、^都是二元运算符。位逻辑运算的运算对象是整数。
位逻辑运算规则与逻辑运算(、∣∣、!)一样,也可用真值表表示。设a、b分别表示一个二进制位,则按位逻辑运算的真值表可表示成如表9-1所示的形式。
1.按位与运算
按位与逻辑运算的运算规则是:只有对应的位均为1时,与运算的结果才为1,其他的情况均为0。即:
00=0 01=1 10=0 11=1
2.按位或运算
按位或运算的运算规则是:只有按位或操作的对应位均为零时,结果才为零,其他情况按位或的结果均为1。即,
0|0=0 0|1=1 1|0=1 1|1=1
3.按位异或运算
按位异或的运算规则是:参与按位异或运算的两个二进制位如果相同,则结果为0,如果不同则结果为1。即,
0^0=0 0^1=1 1^0=1 1^1=0
4.按位取反运算
按位取反运算的运算规则是:0的按位取反结果为1,1的按位取反结果为0。即,
~0=1 ~1=0
9.2.2移位运算
移位运算实现二进制位的顺序向左或向右移位。
1.左移位运算
左移位运算符是,其语法格式为:
an
其中,a是操作数,可以是一个char型或整型的变量或表达式;n是待移位的位数,必须是正整数。功能是将a中所有的二进制位数向左移动n位。
左移位的运算规则是:在移位过程中,各个二进位顺序向左移动,右端空出的位补0,移出左端之外的位则被舍弃。例如,a=10,其二进制的存储形式则a2表示将a的各个二进制位顺序左移2位即十进制的40。
2.右移位运算由左移位的规则可以看出,对于无符号数而言,左移位相当于乘2运算,左移n位相当于乘2的n次方。
右移位运算符是,其语法格式为:
an
其中,a是操作数,可以是一个char型或整型的变量或表达式;n是待移位的位数,必须是正整数。功能是将a中所有的二进制位数向右移动n位。
右移位的运算规则是:在移位过程中,各个二进位顺序向右移动,左端空出的位补0还是补1取决于被移位的数是有符号数还是无符号数,具体为:
⑴对于无符号数进行右移时,左端空出的为一律补0。
⑵对于用补码表示的有符号数进行右移时,如果采用逻辑右移,则不管是正数还是负数,左端空位一律补0;如果采用算术右移,则正数右移,左端的空位全部补0;负数右移,左端的空位全部补1(即符号位)。Turbo C采
您可能关注的文档
- 《C语言程序设计》课程.doc
- 《C语言程序设计案例教程(第四版)》全套章节习题答案.docx
- 《C语言程序设计案例教程(第四版)》章节习题答案第1章基本知识.doc
- 《C语言程序设计案例教程(第四版)》章节习题答案第2章算法.doc
- 《C语言程序设计案例教程(第四版)》章节习题答案第4章.doc
- 《C语言程序设计案例教程(第四版)》章节习题答案第5章.doc
- 《C语言程序设计案例教程(第四版)》章节习题答案第6章.doc
- 《C语言程序设计案例教程(第四版)》章节习题答案第7章.doc
- 《C语言程序设计案例教程(第四版)》章节习题答案第8章结构体、共用体和枚举类型.doc
- 《C语言程序设计案例教程(第四版)》章节习题答案第9章位运算.doc
最近下载
- 造价咨询项目实施阶段全过程造价咨询服务方案造价咨询总体服务方案工作流程重难点分析造价偏差处理.doc VIP
- Three Times’ Beating Monster西游记三打白骨精英语剧本.doc VIP
- 2026国网山东省电力公司高校毕业生提前批招聘笔试模拟试题及答案解析.docx VIP
- 部编版小学四年级道德与法治上册第三单元测试卷(含答案).docx VIP
- 关爱留守儿童教案.pdf VIP
- 医院纪检干部培训课件.ppt VIP
- 教科版四年级上册科学第一单元测试卷(含答案).docx
- 北师大八年级上册生物全册新质教学课件(配2025年秋改版教材).pptx
- 学校传染病防控1案8制(疫情).doc VIP
- 电影剧本精选_灵魂拒葬.pdf VIP
文档评论(0)