美文网首页
位操作符的运用

位操作符的运用

作者: 慕尼黑凌晨四点 | 来源:发表于2021-07-18 11:06 被阅读0次
    操作符 描述 运算规则
    位与 如果相对应位都是1,则结果为1,否则为0
    | 位或 如果相对应位都是 0,则结果为 0,否则为 1
    ^ 位异或 如果相对应位值相同,则结果为0,否则为1
    位非 按位取反运算符翻转操作数的每一位,即0变成1,1变成0。
    << 左移 按位左移运算符。左操作数按位左移右操作数指定的位数。
    >> 右移 按位右移运算符。左操作数按位右移右操作数指定的位数。
    >>> 无符号右移 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。
    • 左移

    <<n: 乘以2的n次方

    • 右移

    >>n:除以2的n次方,取整数部分。

    • 位非
    1位: ~1 = 0;
    2位 ~01 = 10 = -1 ~10 = 01 = 1
    3位 ~001 = 110 = -1 ~010 = 101 = -3
    4位 ~0001 = 1110 = -1 ~0010 = 1101 = -3

    x的位非结果为:-x-1

    • 输出偶数
    for (int i = 0; i < 10; i++) {
        System.out.println(i & ~1);
    }
    
    //输出: 0 0 2 2 4 4 6 6 8 8
    
    • & 判断奇数偶数
    for (int i = 0; i < 10; i++) {
        System.out.println(i & 1);
    }
    //输出:0 1 0 1 0 1
    

    可以用if ((a & 1) == 0) 代替 if (a % 2 == 0)来判断a是不是偶数。

    相关文章

      网友评论

          本文标题:位操作符的运用

          本文链接:https://www.haomeiwen.com/subject/xbnopltx.html