《C语言程序设计第11章.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计第11章.ppt(12页珍藏版)》请在人人文库网上搜索。
1、位 运 算,位运算的含义 基本位运算符 位运算符的应用,位运算的概念 位运算,简单位运算及其应用,主要内容,重点,难点,C语言程序设计最大的一个特点就是可以对计算机硬件进行操作,其操作主要是通过位运算实现的。位运算很适合编写系统软件的需要,是C语言的重要特色。在计算机用于检测和控制领域中要用到位运算的知识。所谓位运算就是指进行二进制的运算。在系统软件中,常要处理二进制的问题。例如,将一个存储单元中的各二进制左移或者右移一位,两个数按位相加等。C语言提供位运算的功能,与其他高级语言相比,显然具有很大的优越性。,C语言程序设计最大的一个特点就是可以对计算机硬件进行操作,其操作主要是通过位运算实现的。
2、。,一、位运算的概念 1位运算的概念 位运算实际就是对表示计算机中的数进行操作的运算符。 2基本位运算符 scanf(“%o”, ,例2:循环右移 【算法分析】:要求将a进行循环移动,即进行如下操作:,(1)将a的右端n位先放到b中的高n位中。 b=an (3)将c和b进行按位或运算。 c=c|b,程序如下: main() unsigned a,b,c; int n; scanf(“%o,%d”, ,三、位段 C语言允许一个结构体中以位为单位来指定其成员所占内存长度,这种以位为单位的成员为“位段”或“位域”。,如: struct packed unsigned a:2; unsigned b:。
3、6; unsigned c:4; unsigned d:4; int i; data;,其存储形式是按照每个数字所定义的位进行的。,通过本讲内容,使学生掌握位运算和位段的概念及简单应用。尤其是对位运算,要重点掌握。,本讲小结, http:/www.xunchi- http:/www.51xiu.org/ ,四、思考与练习,1、编写一个函数getbits,从一个16位的单元中取出某几位(即该几位保留原汁,其余位为0)。函数调用形式为getbits(value ,n1,n2). Value为该16位(两个字节)中的数值,n1为欲取出的起始位,n2为欲取出的结束位。如 getbits(0101675 ,5,8)表示对八进制101675这个数,取出它的从左面起第五位到第八位。 2、写一个函数,对一个16位的二进制取出它的奇数位。 3、设计一个函数,使给出一个数的原码,能得到该数的补码。