黑马程序员技术交流社区

标题: 位运算符 [打印本页]

作者: 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