位赋值运算符.ppt_第1页
位赋值运算符.ppt_第2页
位赋值运算符.ppt_第3页
位赋值运算符.ppt_第4页
位赋值运算符.ppt_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第12章 位运算,位运算 位赋值运算符 位段 应用举例,3. 位运算有:,12.1 位运算,1.位运算和指针一样,都是C语言的重要特色。,2.位运算的概念: 所谓位运算,是指进行二进制位的运算。 例如:将一个存储单元中的各二进制位左移或右移1位,两个数按位相加等。,说明: (1)位运算量a,b只能是整型或字符型数据,不能是实型数据。 (2)位运算符中除按位取反运算符为单目运算符外,其它均为双目运算符。,12.1 位运算,12.1.1 位逻辑运算符,1. 按位与运算符 类型 成员2: 长度; 类型 成员n: 长度; ; 其中,冒号前的成员为位段,冒号后的长度表示存储位段需要占用字节的位数。,例如

2、: struct device unsigned a:1; unsigned b:2; unsigned c:4; int x; float y; data; 结构体变量data包含5个成员,它们分别是a,b,c,x,y。 其中,a、b、c为位段,分别占用1位、2位、4位,即a、b、c共占用7位。这样,用一个字节就可以存储这三个位段。x、y为基本类型的成员,分别需要2个、4个字节存储。因此,结构体变量data需要占用7个字节的内存单元。,12.3 位段,例如: struct device unsigned a:1; unsigned b:2; unsigned c:4; int x; floa

3、t y; data;,结构体变量data包含5个成员,它们分别是a,b,c,x,y。 其中,a、b、c为位段,分别占用1位、2位、4位,即a、b、c共占用7位。这样,用一个字节就可以存储这三个位段。x、y为基本类型的成员,分别需要2个、4个字节存储。因此,结构体变量data需要占用7个字节的内存单元。,12.4 应用举例,例12-1 输出一个整数的二进制形式。,程序: main( ) int num,bit,i; unsigned test=0 x8000; printf(input mum:); scanf(%d, ,运行结果: input num:12345 binary of 3039 is: 0011000000111001,12.4 应用举例,例12-2 循环移位的实现。,左移 : unsigned rol(unsigned x,int n) unsigned y; y=(x(16-n); return(y); ,主程序: main( ) unsigned rol(unsigned x,int n); unsigned ror(unsigned x, int n); unsigned a; int n; printf(input a,n:); scanf(%x,%d, ,右移 : unsigned ror(unsigned x, int n) unsigned y

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论