zoukankan      html  css  js  c++  java
  • 位运算:c 按位与 &

    位运算:
    1. 按位与 &;9&5;任何运算符都有运算结果;
    2. 针对二进制进行计算;只有两个对应位都为1时,结果才为1;否则为0;
    3. 按位与的作用是能精确知道哪位是多少,获取某个精确的二进制位;

    按位或 |

    1. 对应的两个二进位有一个为1时,就为1;9|5

    按位异或 ^

    1. 9 ^ 5;当两个二进制位不相同是为1;
    2. 相同数值进行异或,结果肯定是0,比如9 ^ 9为0;
    3. 异或的值可以交换位置;9^5^6 == 9^6^5;
    4. 任何数值跟0进行异或,结果还是原来的数值;
    5. a^b^a==b

    按位取反,包括符号位;

    1. 是单目运算符;~9;

    左移

    1. 9<<1;把整数全部往左边移动n位(a<<n),往左边一挪,最高位会舍弃,最低位补0;9往左挪动一位,就是9*2的1次方==18;往左挪动2位,就是9*2的2次方==36;
    2. 最高位舍弃可能会导致正负性改变;

    右移

    1. 右移一位,是保留符号位,空的位置用符号位来补齐;8>>1得到4;8>>2得到2;
    2. 8>>n;就得到8/2的n次方;
    3. 左移是乘法;右移是除法;
    4. a=b-1;b=b-a;a=b+a;或者a = a^b;b=a^b;a=a^b;用位与运算是a&1 ==1是奇数;a&1 ==0是偶数;
    5. 拿值就是位与1;将9打印出2进制出来;可以用右移方法;number >>30 & 1;
    6. int temp = (sizeof(number)<<3) -1;while(temp>=0){int value = number>>temp & 1;printf("%d",value);temp--;if((temp+1)%4==0){printf("")}}printf(" ")
  • 相关阅读:
    css知识点
    javascript 中闭包
    javascript 继承方法总结
    css滚动滚轮事件
    关于闭包的总结
    xpth xslt
    好的js函数
    自动化测试实施(4)
    自动化测试实施(5)
    自动化测试实施(3)
  • 原文地址:https://www.cnblogs.com/williamliuwen/p/5367271.html
Copyright © 2011-2022 走看看