大学课件C语言第十二章位运算

上传人:静*** 文档编号:299278168 上传时间:2022-05-27 格式:PPT 页数:11 大小:483.50KB
返回 下载 相关 举报
大学课件C语言第十二章位运算_第1页
第1页 / 共11页
大学课件C语言第十二章位运算_第2页
第2页 / 共11页
大学课件C语言第十二章位运算_第3页
第3页 / 共11页
大学课件C语言第十二章位运算_第4页
第4页 / 共11页
大学课件C语言第十二章位运算_第5页
第5页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《大学课件C语言第十二章位运算》由会员分享,可在线阅读,更多相关《大学课件C语言第十二章位运算(11页珍藏版)》请在金锄头文库上搜索。

1、第十二章第十二章 位运算位运算 Focus掌握常见的位运掌握常见的位运算符和位运算算符和位运算六六 种种 位位 运运 算算 00001100| 00000101 00001101| 按位按位“或或” 12|5 =13 00001110 00000101 00001011 按位按位“异异或或” 125 =11 00000101 11111010 取反取反 char c=5; printf (“%d”, c); /*考虑补考虑补码码*/ & & 按位按位“与与” 12&5 =4000011000000010100000100 4种种字位逻辑运算符字位逻辑运算符具有逻辑运算的特点具有逻辑运算的特点5

2、/26/20221 0 1 0 0 1 1 1 1 0 0 0 0 0 1 1 左左移移位(逻辑移位)位(逻辑移位) char c=5;c=c 右右移位移位 (算术移位)算术移位) 2种种字位移位运算符字位移位运算符具有移位的特点具有移位的特点位运算符和赋值运算符结合位运算符和赋值运算符结合可构成如下可构成如下复合赋值运算符复合赋值运算符 &=&=、|=|=、=、=、= =5/26/2022struct bitseg unsigned a: 2 ; unsigned b: 4 ; unsigned c: 6 ; unsigned d: 4 ; bits1 , bits2 ;位段(位域)位段(位

3、域) 以以位位(bit)为单位的结构体为单位的结构体类型的类型的分量分量可以是可以是 int ,unsigned,signedabcd5/26/2022struct bitseg unsigned a: 2 ; unsigned b: 4 ; unsigned : 0 ; unsigned d: 4 ; bits ;ab空过空过d另起一字另起一字5/26/2022struct bitseg unsigned a: 2 ; unsigned b: 4 ; unsigned : 2 ; unsigned d: 4 ; bits ;空几位不用空几位不用ab空过空过d5/26/2022课堂例题课堂例题

4、课后练习课后练习 编编程程思思路路:一一般般来来说说,要要判判断断一一个个数数的的奇奇偶偶,只只需需用用该该数数对对 2 进进行行求求模模 (%) 运运算算,若若结结果果为为 1 则则为为奇奇数数,结结果果为为 0 则则为为偶偶数数,但但如如果果用用位位运运算算则则速速度度会会更更快快。可可让让该该数数与与数数 1 进进行行与与运运算算&,奇奇数数的的最最低低位位为为 1 ,和和 1 与与的的结结果果为为 1 ,代代表表奇奇数数;偶偶数数最最低低位位为为 0 ,和和 1 与与的的结结果果为为 0 ,代代表表偶偶数数。由此可设计如下程序:由此可设计如下程序:判断数的奇偶性判断数的奇偶性#incl

5、ude main() int n; printf(Input integer:n ); scanf(%d ,&n); if(n&1) printf(%d is odd!n ,n); else printf(%d is even !n ,n); 编程思路:大小写字母的编程思路:大小写字母的ASCII码的码的差值为差值为 32=25=(100000),即,即 A +32= a, A: 01000001 a : 01100001 它们的差别在右起第它们的差别在右起第 6 位,在大写字母的该位,在大写字母的该位上置位上置 1 即变为对应的小写字母,在小写字母的即变为对应的小写字母,在小写字母的该位上置该位上置 0 则变为相应的大写字母。则变为相应的大写字母。利用位运算实现大小写字母的转换利用位运算实现大小写字母的转换#include main() int i;char c 80; printf(input a stringn ); scanf(%s ,c); for (i=0;i80;i+) if (A=ci&ci=Z) printf(“%c”,ci|32); else if(a=ci&ci=z) printf(“%c”,ci&0 xdf); if(ci=0) break; 注:注:0 0 xdfxdf=(=(dfdf) )1616=(11011111)=(11011111)2 2

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号