C语言0x1f5,C语言程序设计(第8章).ppt

您所在位置:网站首页 > 海量文档

&nbsp>&nbsp计算机&nbsp>&nbspC/C++资料

2a1a028d081056ab14b40d3afcc4d675.gif

C语言程序设计(第8章).ppt17页

本文档一共被下载:2377011b61454b208b34ad77b4c31088.gif次,您可全文免费在线阅读后下载本文档。

072ad097814a33d1ad18e33ca14a5a9e.png

9ec2792a743ebdf4575ee09a03c275ea.png

7af312d1be2cfc1e59f15880bb7a7e7a.png

5f207613e329ca76dc87c76d3ff77e64.png

adf7aa3071c520b8a2063089f549261c.png

下载提示

1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。

2.该文档所得收入(下载+内容+预览三)归上传者、原创者。

3.登录后可充值,立即自动返金币,充值渠道很便利

莆田学院计算机教研室 2003年6月 第八章 位运算 计算机基础教研室 本章主要内容 C语言既是一种高级语言,广泛应用于应用软件的开发和程序设计,同时又是一种低级语言,可以用于系统软件的开发和程序设计,如自动控制系统中的过程控制、参数检测、数据通讯等控制程序,都可以综合利用C语言中的指针操作、位运算和位段技术来实现。 本章介绍位运算的基本形式和常用运算符,并简要介绍位段的概念。位运算的深入学习,应该在《计算机原理》和《汇编语言程序设计》课程中进行。 教学目的与要求 了解位运算的基本形式和常用运算符 了解位段的概念 掌握常用的位运算(按位与、按位或、按位取反) 了解位运算的应用(左移、右移) 重点与难点 常用位运算的计算 一、位运算符和位运算 位运算概述 所谓“位运算”,是指按二进制位进行运算。 位运算的特点:运算按二进制逐位进行——没有借位和进位。 位运算量:整型(int,short,unsiged,long)/字符型(以补码/ASCII码形式存储),不可为实型。 位运算符:P298 表12.1 & | ^ ~ << >> 一、位运算符和位运算 位运算符还可与赋值运算符相结合,进行位运算赋值操作。如: a&=b 等价于 a=a&b a>>=b 等价于 a=a>>b 注意:位运算时的数据类型为char/int,分析时要化为二进制形式,但在程序中书写及输出结果时仍为char/int。 位运算符的使用 按位与 & (均为1时方为1) 位运算符的使用 按位或 | (均为0时方为0) 位运算符的使用 按位异或 ^ (二者相异方为1) 位运算符的使用 按位取反 ~ (各位反转) 位运算符的应用 左移运算 << a<> a>>n 将a中各位右移n位,溢出则舍弃。 左端—— a为正数时(符号位为0),填0; a为负数时(符号位为1),填0或填1与系统有关 填0(逻辑右移) 填1(算术右移) TC使用算术右移 位运算符的应用 右移运算 >> 应用示例 ① 从整数a最右端第m个位置开始取该位开始右面n位 。 算法如下: b=a>>(m-n+1) c=~(~0<>n c=c|b 二、位段 C语言允许在一个结构体中以位为单位来指定其成员所占内存长度。这种以位为单位的成员称为“位段”。 示例 * * * * 高级语言程序设计 【例一】 main( ) { unsigned char a,b; printf(“Enter a and b:”); scanf(“%o,%o”,&a,&b); printf(“a&b=%o\n”,a&b); } 计算 (a) & (b) (a) & (b) Enter a and b: 20,30 a&b=20 Enter a and b: 12,20 a&b=0 【例二】 main( ) { unsigned char a,b; printf(“Enter a and b:”); scanf(“%o,%o”,&a,&b); printf(“a | b=%o\n”,a|b); } Enter a and b: 20,30 a | b=30 Enter a and b: 12,20 a | b=32 计算 (a) | (b) (a) | (b) 【例三】以下程序的功能是将a数据的低4位取反。 #include main() { unsigned char a=0x39, b= ;

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名:

验证码:

c9f2bced460b0329ba0aadbbc3f0fc71.png

匿名?

发表评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值