位运算

1、位运算

  程序中所有的数据在计算机中都是以二进制存储的,位运算就是对二进制位进行操作。

  可与1进行按位与操作,判断奇偶数。1奇 0偶

  按照二进制位进行运算操作

  【1】&    按位与

  【2】|      按位或

  【3】^     按位异或

  【4】<<   左移,右侧补0

  【5】>>   右移,挤掉右侧的数字

  eg: 先将十进制数字转换为二进制,再按位一一对应比较

    11     1011

    14     1110

    &      1010  相同位一0则0

    |        1111 相同位一1则1

    ^       0101 相同位 ,相同0不同1

      11 << 2 ===> 44 

    #把11转为二进制后,左移2位(即,在11转为二进制的结果后面补两个0),11<<2实际上就是,11乘以2的二次方

    a << b

    #把a转为二进制后,左移b位(即,在a转为二进制的结果后面补b个0),a<<b实际上就是,a乘以2的b二次方

      14 >> 2 ===> 3 挤掉右侧的数字

    # 把14转为二进制后,右移2位(即,在14转为二进制后的结果后,挤掉右边两个为上的数字,即为11,即十进制的3                                                                                                                                                                                                                                                           )

    二进制转十进制:从右往左,每个位乘以从2的【第几位】次方之和

          eg:1110转十进制

            0*2**0+1*2**1+1*2**2+1*2**3

In [36]: 0*2**0+1*2**1+1*2**2+1*2**3
Out[36]: 14

2、用途

  【1】 在做底层硬件时操作寄存器

  【2】 做标志位的过滤

  【3】可与1进行按位与操作,判断奇偶数。1奇 0偶

posted @ 2021-01-05 13:31  昱成  阅读(174)  评论(0编辑  收藏  举报