位运算的操作对象只能是整型或字符型数据
    C语言提供6种运算符:
    & 按位与
    | 按位或
    ^ 按位异或
    ~ 按位取反
    << 按位左移
    >> 按位右移
    复合赋值运算符:
    &=、|=、^=、<<=、>>=
    一、按位与运算
    同一为一、其余为零
    1&1=1
    1&0=0
    0&1=0
    0&0=0
    二、按位或运算
    有一说一,无一为零
    1|1=1
    1|0=1
    0|1=1
    0|0=0
    三、按位异或运算
    相同为零,相异为一
    1^1=0
    1^0=1
    0^1=1
    0^0=0
    四、按位取反运算
    对一个数按位取反得到的值为该数+1后再乘以-1
    五、按位左移运算
    格式:数<功能:将二进制位按位依序左移n位
    对一个十进制数左移n位后得到的值为该数乘以2n的积
    六、按位右移运算
    格式:数>>n
    功能:将二进制位按位依序右移n位
    对一个十进制右移n位后得到的值为该数除以2n的商
    若该数为一个负数并且不能被2n整除则得到的数为商加-1