- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计第十二章(位运算)
第十二章 位运算;一.位运算符;如: a=15则 ~ a
例12.1 main( )
{
int a=0,b=1;
printf (“ %d,%d \n”, ~a ,~b ) ;
printf (“ %d,%d \n”, !a , !b ) ;
}
运行结果: ?-1 , -2
1 , 0;2. (按位与运算)
作用: 对参加运算的两个二进制数逐位进行逻辑与运算。
如: a b
规则: 00 = 0 , 10 = 0 , 01 = 0 , 11 = 1
例如: a =1 , b = -2 , 则: a b = 0
例: main( )
{
int a=5,b=12, d;
d=ab ;
printf(“%d%d=%d\n”, a,b,d);
}
输出: 512 = 4
此例说明: a , b 两个操作数参加 运算前后,其值不变。;3. | (按位或运算)
作用: 对参加运算的两个二进制数逐位进行逻辑或
运算。
如: a | b
规则: 0 | 0 = 0 , 1 | 0 = 1 , 0 | 1 = 1 , 1 | 1 = 1
例如: a = 1 , b = -1 , 则: a | b = -1.;4. ^ (按位异或运算)
作用: 对参加运算的两个二进制数逐位进行逻辑
异 或运算.
如: a^b
规则: 0^0 = 0 , 1^0 = 1 , 0^1 = 1 , 1^1 = 0
例如: a=15, b=0, 则: a^b=15;例 : main ( )
{
int a = 3 , b = 4 ;
a=a^b;
b=b^a;
a=a^b;
printf(“%d,%d”,a,b);
}
输出: 4, 3
结论: 利用异或运算,可以设置第三个变量就可以
实现 两个整型变量值的交换。;5. (左移位运算)
作用: 将操作数的各个二进位顺序左移。右端空出的位补 0,而移出左端之外的位则舍去。
如: a n表示将a 的各个二进位顺序左移 n 位( n 为正整数)。
例如: a = 25 则 a3 结果为 200
;说明:
(1) 左移运算相当于乘 2 运算。
对无符号数,左移 1 位,相当于乘 2 。左移 n 位,则乘 2n 。
(2) 对于用补码表示的正数,如果左移出的全部是 0 ,且移出后的最高位仍是0。
(3) 对于用补码表示的负数,如果左移出的全部是 1,且移出后的最高位仍是 1 。如:;(4) 若非上述情况 ( 如:左移出现溢出时),就不能简单地用 乘 2 来计算. 如: 有符号字符型数 64 , 当它左移 2 位时,结果为 0 。; 6. (右移运算符)
作用: 将操作数的各个二进位顺序右移。左端空出的位补0 或补 1,而移出右端之外的位则舍去.
如: a n 表示将 a 的各个二进位顺序右移 n 位
说明: 右移运算的结果与操作数的符号有关
1) 对无符号数进行右移,左端空出的位一律补 0 。
2) 对用补码表示的有符号数,则随系统而定。
“逻辑右移”空位一律补 0 ;
“算术右移”正数右移,空位补 0; 负数右移,
空位补1 。(Turbo C中采用算术右移)
;例如: a = - 32768;二. 1. 位运算符的优先级
结合性: ~ 运算按从右至左 , 其余按从左至右
例: x ~ 077 x ( ~ 077)
您可能关注的文档
- C06第四章逻辑运算与选择结构程序.ppt
- C07第四章逻辑运算与选择结构程序.ppt
- c2数据类型、表达式和控制语句.ppt
- c2语言程序设计(第4版).ppt
- C2练习册_期末练习题.ppt
- C02数据类型和表达式.ppt
- C51单片机技术入门与提高(第一讲预备知识).ppt
- C3数据类型和运算规则.ppt
- C51数据类型和运算符.ppt
- C7轻工业_2008春季.ppt
- 中药材加工及现代冷链仓储物流项目可行性研究报告写作模板-申批立项.doc
- 自动化PCB印刷线路板生产线设备更新项目可行性研究报告模板-立项拿地.doc
- 精品解析:河南省信阳市2022-2023学年高二上学期期末考试化学试题(原卷版) (1).docx
- 70万支RPC新型复合材料地铁枕轨项目可行性研究报告模板-立项备案.doc
- 精品解析:黑龙江省肇东市第四中学2022-2023学年高二下学期期中物理试题(解析版).docx
- 训练15文言文阅读2-2021-2022学年九年级语文寒假提分训练.docx
- 5000万张浸渍纸项目可行性研究报告写作模板-拿地备案.doc
- 3万吨重晶石开采建设项目可行性研究报告写作模板-拿地申报.doc
- 水分散粒剂、可溶粒剂、颗粒剂等固体制剂自动化生产线技改项目可行性研究报告写作模板-备案审批.doc
- 广东省韶关市新丰县第一中学2022-2023学年高一下学期期中地理试题(解析版).docx
文档评论(0)