黑马程序员技术交流社区
标题:
位运算符
[打印本页]
作者:
wangshengjie
时间:
2015-3-12 09:07
标题:
位运算符
一、位运算符:(按位与)&、按位或(|)、按位异或(^)、取反(~)、左移(<<)、右移(>>)
二、说明:
1、位运算符中除取反(~)以外,均为二目(元)运算符,即要求两侧各有一个运算量;
2、运算量只能是整型或字符型的数据,不能为实行数据;
三、按位与运算符(&)
1、规则:参加运算的两个数据,按二进制位进行"与"运算。若两个相应的位均为1,则该位的结果为1;否则为0;
即0&0=0、0&1=0、1&0=0、1&1=1
2、用途
(1)、清零;
(a)00 10 11
(b)10 01 00
———————
(c)00 00 00
(2)、取一个数中某些指定位;
>如有一个整数a(2个字节),若想取其中的低字节。只需将a与八进制数(377)按位与即可
(a)00 10 11 00 10 10 11 00
(b)00 00 00 00 11 11 11 11
———————————————
(c)00 00 00 00 10 10 11 00
>若想取两个字节中的高字节,只需c=a&0177400(八进制数177400)
(a)00 10 11 00 10 10 11 00
(b)11 11 11 11 00 00 00 00
———————————————
(c)00 10 11 00 00 00 00 00
(3)、若想保留某一位,就与一个数进行&运算,此数在该位取1;
例如:将01010100的左边第3、4、5、7、8位保留下来,则
0 1 0 1 0 1 0 0(84)
(&)0 0 1 1 1 0 1 1(59)
——————————
0 0 0 1 0 0 0 0(16)
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2