收藏 分享(赏)

c程 位运算.ppt

上传人:gnk289057 文档编号:6221856 上传时间:2019-04-02 格式:PPT 页数:10 大小:132KB
下载 相关 举报
c程 位运算.ppt_第1页
第1页 / 共10页
c程 位运算.ppt_第2页
第2页 / 共10页
c程 位运算.ppt_第3页
第3页 / 共10页
c程 位运算.ppt_第4页
第4页 / 共10页
c程 位运算.ppt_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、位 运 算,11.2.1 位运算符 C语言提供了6种位运算符,见表11-1。,表11-1 位 运 算 符,11.2.2 位运算符功能实现1“按位与”运算按位与运算符“&”是双目运算符,其功能是参与运算的两数各对应的二进制位相“与”。只有对应的两个二进制位均为1时,结果位才为1,否则为0。参与运算的数以补码方式出现。例如,9&5可写算式如下:,00001001 (9的二进制补码)& 00000101 (5的二进制补码)00000001 (1的二进制补码)可见,9&5=1。按位与运算通常用来对某些位清0或保留某些位。例如,把a 的高8位清0,保留低8位,可作a&255 运算(255 的二进制数为0

2、000000011111111)。,【例11.1】 /*程序功能:“按位与”运算示例*/ main( ) int a=9,b=5,c;c=a 程序运行结果: a=9 b=5 c=1,2“按位或”运算“按位或”运算符“|”是双目运算符,其功能是参与运算的两数各对应的二进制位相“或”。只要对应的两个二进制位有一个为1时,结果位就为1。参与运算的两个数均以补码方式出现。例如,9|5可写算式如下:00001001| 0000010100001101 (十进制为13)可见,9|5=13。,3“按位异或”运算按位异或运算符“”是双目运算符,其功能是参与运算的两数各对应的二进制位相异或。当两个对应的二进制位

3、相异时,结果为1。参与运算数仍以补码方式出现。例如,95可写成算式如下:00001001 00000101 00001100 (十进制为12),不用第三个变量实现两个值的交换: a=a+b;b=a-b;a=a-b; a=ab;b=ab;a=ab;,4“按位求反”运算求反运算符“”为单目运算符,具有右结合性,其功能是对参与运算的数的各二进制位按位求反。例如, 9的运算:(0000000000001001)结果为 1111111111110110,5“左移”运算左移运算符“”是双目运算符,其功能是把“ ”左边的运算数的各二进制位全部左移若干位,由“”右边的数指定移动的位数。其中,移位过程中,高位丢弃,低位补0。例如,a4是指把a的各二进制位向左移动4位。如果a=00000011(十进制3),左移4位后为00110000(十进制48)。,6“右移”运算右移运算符“”是双目运算符,其功能是把“ ”左边的运算数的各二进制位全部右移若干位,“”右边的数指定移动的位数。例如,取a=15,则a2表示把000001111右移为00000011(十进制3)。应该注意的问题是,对于有符号数,在右移时,符号位将随同移动。当为正数时, 最高位补0,而为负数时,符号位为1,最高位是补0或是补1 取决于编译系统的规定。Turbo C和很多系统规定为补1。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初级教育 > 小学教育

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报