(中职)C语言程序设计案例教程 3.6位运算符与位运算-【中职专业课】同步教学课件

2022-09-26
| 17页
| 146人阅读
| 2人下载
普通

内容正文:

YCF 正版可修改PPT (中职)C语言程序设计案例教程 3.6位运算符与位运算ppt课件 1 位运算符与位运算 Teacher teaching design CONTENTS 目 录 基本概念 明确考点 案例分析 交流提升 仿真演练 体验探索 基本概念 明确考点 PART 01 基本概念 明确考点 操作符 优先级 运算 规则 | 1(最低) 位或 若两个相应的二进制位只要有一个为1,则该位的结果为1,否则为0 ^ 2 位异或 若两个二进制位同号,则结果为0,异号为1 & 3 位与 若两个相应的二进制位都为1,则该位的结果为1,否则为0 <<  4 左移 将一个数的二进制位全部左移若干位 >>  4 右移 将一个数的二进制位全部右移若干位 ~ 5(最高) 取反 按位取反,即变压器,1变0 考点一、位运算符的种类、含义及使用 C语言中的位运算的优先级及其作用如表所示: 说明:1、位运算是对字节或字中的实际位进行检测,设置或移位,它只适用于字符型和整数型变量以及它们的变体,对其它数据类型不适用。 2、关系运算和逻辑运算表达式的结果只能是1或0,而位运算的结果可以取0或1以外的值。 3、除“~”运算符外,其它均为又双目运算符,要求两侧各有一个运算量。 基本概念 明确考点 考点二、按位与运算 按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。参与运算的数以补码方式出现。 (1) 运算规则:如果两个运算量相应二进制位都为1 ,则该位结果为1 ,否则为 0 ; (2) 用途 :要想将一个数某一位清零,就与一个数进行 & 运算,此数在该位取 0; 要想将一个数某一位保留下来,就与一个数进行 & 运算,此数在该位取 1; 要想将一个数某些位保留下来,就与一个数进行 & 运算,此数在这些位全为1 ,不想要的位全为 0即可; 例如:9&5可写算式如下: 00001001 (9的二进制补码) & 00000101 (5的二进制补码) 00000001 (1的二进制补码) 可见9&5=1。 按位与运算通常用来对某些位清0或保留某些位。例如把a 的高八位清0 ,保留低八位,可作a&255运算( 255 的二进制数为0000000011111111)。 基本概念 明确考点 【例1】 main() { int a=9,b=5,c; c=a&b; printf("a=%d b=%d c=%d ",a,b,c); } 【例2】 main() { int a=-9,b=-5,c; c=a&b; printf("a=%d b=%d c=%d ",a,b,c); } 基本概念 明确考点 考点三、按位或运算 按位或运算符“|”是双目运算符。其功能是参与运算的两数各对应的二进位相或。参与运算的两个数均以补码出现。 (1) 运算规则:如果两个运算量相应二进制位有一个为1 ,则该位结果为1 ,否则为 0 ; (2) 用途 :与 0 进行按位或运算,各位数不变; 与1 进行按位或运算,均变为1 例如:9|5可写算式如下: 00001001 |00000101 00001101 (十进制为13)可见9|5=13 【例3】 main(){ int a=9,b=5,c; c=a|b; printf("a=%d b=%d c=%d ",a,b,c); } 基本概念 明确考点 考点四、按位异或运算 按位异或运算符“^”是双目运算符。其功能是参与运算的两数各对应的二进位相异或,参与运算数仍以补码出现。 (1) 运算规则:如果两个运算量相应二进制位异( 即一位为1 ,一位为0)为1 ,同( 即两位均为1 或0)为0 ; (2) 用途 :与 1 相异或 ,翻转 ;与 0 相异或 ,保留原值;交换两个值,不用临时变量; 例如9^5可写成算式如下: 00001001 ^00000101 00001100 (十进制为12) 【例4】 main(){ int a=9; a=a^5; printf("a=%d ",a); } 基本概念 明确考点 考点五、求反运算 求反运算符~为单目运算符,具有右结合性。其功能是对参与运算的数的各二进位按位求反,参与运算数仍以补码出现。 例如~9的运算为: ~(0000000000001001)结果为:1111111111110110 考点六、左移运算 左移运算符“<<”是双目运算符。其功能把“<< ”左边的

资源预览图

(中职)C语言程序设计案例教程 3.6位运算符与位运算-【中职专业课】同步教学课件
1
(中职)C语言程序设计案例教程 3.6位运算符与位运算-【中职专业课】同步教学课件
2
(中职)C语言程序设计案例教程 3.6位运算符与位运算-【中职专业课】同步教学课件
3
(中职)C语言程序设计案例教程 3.6位运算符与位运算-【中职专业课】同步教学课件
4
(中职)C语言程序设计案例教程 3.6位运算符与位运算-【中职专业课】同步教学课件
5
(中职)C语言程序设计案例教程 3.6位运算符与位运算-【中职专业课】同步教学课件
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。