- 1、本文档共81页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
将其保存为test2.sh。然后再编译并执行程序。 [root@localhost shell] # chmod +x test2.sh [root@localhost shell] # ./test2.sh Press any key to continue ...... 4.6 位运算 4.6.1 位运算符 C语言提供了六种位运算符: (按位与)、|(按位或)、^(按位异或)、~(取反)、(左移)、(右移)。 1、按位与运算 按位与运算:只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。 例如:9 5可写成算式如下: 可见 9 5 = 1。 按位与运算通常用来对某些位清0或保留某些位。 例如把a 的高八位清0,保留低八位,可作 a 0x00ff 运算(0x00ff的二进制数为0000000011111111)。main(){ int a=9,b=5,c; c=ab; printf(a=%d/nb=%d/nc=%d/n,a,b,c);} 2、 按位或运算 只要对应的二个二进位有一个为1时,结果位就为1。 例如:9|5可写算式如下: 可见9|5=13。 main(){ int a=9,b=5,c; c=a|b; printf(a=%d/nb=%d/nc=%d/n,a,b,c);} 3、按位异或运算 当两对应的二进位相异时,结果为1。 例如 9^5 : main(){ int a=9; a=a^15; printf(a=%d/n,a); } 4、求反运算 其功能是对参与运算的数的各二进位按位求反。 例如,~9的运算为:~(0000000000001001)结果为:1111111111110110。 5、 左移运算 把“ ”左边的运算数的各二进位全部左移若干位,由“”右边的数指定移动的位数,高位丢弃,低位补0。 例如: a4 6、 右移运算 把“ ”左边的运算数的各二进位全部右移若干位,“”右边的数指定移动的位数。 例如:设 a=15,a2表示把000001111右移十进制3)。 4.6.2 位表达式 将位运算符连接起来所构成的表达式称为位表达式。在这些位运算符中,其优先级依次为: ~(取反运算符)、或(左移或右移)、(按位与)或|(按位或)或^(按位异或)。 a = 5; 就等价于: a = a 5; 再比如:GPDR = ~ 0xff; 我们将其展开:GPDR = GPDR (~0xff); GPDR = GPDR 0x00; 完成了对GPDR的清0。 一个常用的操作是用 来获取某个或者某些位。 例如获取整数x中的低4位可以写成 x =0x0F; x=x0x0F; 也可以用|、、、等配合来设置和清除某位或者某些位。 例如: x =0x1; 即:x=x0x1; /* 清除x的最后一位,即第0位 */ x =(0x15); 即:x=x(0x15); /* 清除x的低5位 */ x |=0x1; 即:x=x|0x1; /* 将最后一位(即第0位)设置为1 */ x |=(0x16); 即:x=x|(0x16); /* 将x的第6位设置为1 */ 本章小结 本章是在嵌入式Linux中进行程序设计的基础,介绍了Gcc编译器的使用,虽然它的选项较多,但掌握常用的一些选项即可。介绍了Make工程管理器的使用,这里包括Makefile的基本结构、Makefile的变量定义及其规则和 make命令的使用。还介绍了autotools的使用,这在项目设计中是非常有用的工具。最后简单介绍了位运算。 例如 OBJS = main.o mytool1.o mytool2.o CC = gcc main: $(OBJS) $(CC) $(OBJS) -o main main.o: main.c $(CC) -c main.c mytool1.o: mytool1.c mytool1.h $(CC) -c mytool1.c mytool2.o: mytool2.c mytool2.h $(CC) -c mytool2.c 进一步简化 OBJS = main.o mytool1.o mytool2.o CC = gcc main: $(OBJS) $(CC) $^ -o $@ main.o: main.c $(CC) -c $ -o $@ mytool1.o: mytool1.c mytool1.h
您可能关注的文档
- 千姿百态的动物世界剖析.ppt
- 人机交互大会简介剖析.pptx
- 牵引供电系统课程设计报告剖析.doc
- 铅的危害与防护剖析.pptx
- 铅酸蓄电池知识培训剖析.ppt
- 前半学期总的单选多选题剖析.doc
- 人机交互复习(一)剖析.pptx
- 人机交互基础教程剖析.ppt
- 前端调速式风电机组偏航系统的模糊控制研究剖析.doc
- 前海热中的冷思考剖析.doc
- 12习主席出席APEC领导人非正式会议-2023中考地理时政热点汇编.docx
- 押广东中考第2130题世界史.docx
- 培优专题03几何最值类问题综合.docx
- 2018-2019学年高中历史专题2近代中国资本主义的曲折发展专题检测卷人民版必修2.doc
- Unit6Meetmyfamily!PartBLet’slearnLet’splay(课件)人教PEP版英语四年级上册2.pptx
- Unit1FoodforthoughtUsinglanguage语法课件高中英语.pptx
- (培优特训)专项6.2反比例函数与k值几何意义高分必刷题(原卷版).docx
- 第2课西方国家古代和近代政治制度的演变-高二历史课件(选择性必修1国家制度与社会治理).pptx
- 2018-2019学年高中化学学业分层测评9离子键配位键与金属键选修3.doc
- 江西省信丰中学高三上学期期末模拟考历史试题.doc
最近下载
- 2024年工商银行人工智能大模型白皮书.pdf
- 提质增效施工组织设计.docx
- 2024年下半年北京夏都妫川人力资源有限公司招聘食品药品安全监察员12人笔试备考试题及答案解析.docx
- 2023年中国石油大学(北京)克拉玛依校区数据科学与大数据技术专业《计算机网络》科目期末试卷B(有答案).docx VIP
- 2024新人教版一年级数学上册综合与实践单元数学游戏单元整体教学设计.pdf VIP
- 教师资格考试结构化面试100题(含答案).pdf
- JG-D02 环境监测仪技术规范书.doc
- 班组安全活动记录表.pdf
- 大数据技术在继电保护领域的研究与应用-电力信息与通信技术.pdf VIP
- 重庆市某办公楼土建工程施工图预算编制.docx
文档评论(0)