C语言程序设计课件.ppt

  1. 1、本文档共563页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
人在高处时勿戏人,人在相遇时勿算人人在离别时勿悔人,人在争取时要像人

返回本章目录 8.2 二进制位运算 8.2.1 二进制位运算 8.2.2 位复合赋值运算符 所谓位运算是指进行二进制位的运算。在系统软件中,常要处理二进制位的问题。C语言提供了按位运算的功能,这使得它与其它高级语言相比,具有很强的优越性。 8.2.1 二进制位运算 类 型 运算符 含义 位逻辑 运算符 按位与 | 按位或 ^ 按位异或 ~ 取反 移位运 算 符 左移 右移 C语言提供了六种位运算符(见表8-1): 表8-1位逻辑运算与移位运算 返回本节目录 8.2.1 二进制位运算 说明: ①运算量只能是整型或字符型的数据,不能为实型或结构体等类型的数据。 ②六个位运算符的优先级由高到低依次为:取反、左移和右移、按位与、按位异或、按位或。 ③两个不同长度的数据进行位运算时,系统会将二者按右端对齐。下面对各种位运算符介绍如下: 返回本节目录 1.“按位与”运算符() 2.“按位或”运算符(|) 3.“按位异或”运算符(^) 4.“求反”运算符 (~) 5.“左移”运算符() 6.“右移”运算符() 1.“按位与”运算符() (1)规则: 参与运算的两数(以补码方式出现)各对应的二进位相与(即逻辑乘),只有对应的两个二进位均为1时,结果位才为1,否则为0,它是双目运算符。即:00=0;01=0;10=0;11=1。 例如: 95可写算式如下: 9的二进制补码: 0 0 0 0 1 0 0 1 5的二进制补码: 0 0 0 0 0 1 0 1 ___________________   0 0 0 0 0 0 0 1(1的二进制补码) 可见95=1。 返回8.2.1目录 1.“按位与”运算符() (2)特殊用途: ①清零 按位与运算通常用来对某些位清0。由按位与的规则可知:为了使某数的指定位清零,可将该数按位与一特定数。该数中为1的位,特定数中相应位应为0;该数中为0的位,特定数中相应位可以为0也可以为1。由此可见,能对某一个数的指定位清零的数并不唯一。 【例8.2】 ②取一个数中某些位 可将该数与一个特定数进行运算,对于要取的那些位,特定数中相应的位设为1。【例8.3】 ③取出数中某一位 要相将一个数的某一位保留下来,可将该数与一个特定数进行运算,特定数的相对应的那位应为1。【例8.4】 返回本节目录 【例8.2】实例 返回1目录 程序演示 【例8.2】对原为1的位清零。 原数补码: 0 0 1 1 0 1 1 0 清零的数: 1 1 0 0 0 0 0 0 (00000000等) ___________________ 0 0 0 0 0 0 0 0 程序可写为: #include stdio.h main() { int a=0x36,b=0xc0,c; c=ab; printf(a=%x\nb=%x\nc=%x\n,a,b,c); } 运行情况为: a=36 b=c0 c=0 [例8.2]程序演示 输入源程序 弹出运行结果窗口 返回例题 返回1目录 【例8.3】实例 返回1目录 程序演示 【例8.3】把a的高八位清0,保留低八位。 可作a255运算(255的二进制数为0000000011111111)。 #include stdio.h main() { int a,b=255,c; scanf(%d,a); c=ab; printf(a=%x\nb=%x\nc=%x\n,a,b,c); } 运行情况为: 输入:920 CR a=398 b=ff c=98 [例8.3]程序演示 输入源程序 弹出运行结果窗口 返回例题 返回1目录 【例8.4】实例 返回1目录 程序演示 【例8.4】编写程序将a(=9)的最低位取出。程序名为l8_4cpp。 #include stdio.h main() { int a=9,b=1,c; c=ab; printf(a=%x\nb=%x\nc=%x\n,a,b,c); } 运行情况为: a=9 b=1 c=1 [例8.4]程序演示 输入源程序 弹出运行结果窗口 返回例题 返回1目录 2.“按位或”运算符(|) (1)规则 参与运算的两数(以补码出现)各对应的二进位相或(即逻辑加)。只要对应的两个二进位有一个为1时,结果位就为1,它是双目运算符。即:0|0=0;0|1=1;1|0=1;1|1=1。 例如:9|5可写算式如下:0 0 0 0 1 0 0 1 0 0 0 0 0 1

文档评论(0)

爱遛弯的张先生 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档