0


【Java SE]位运算和移位运算注意事项

96fded2715d54a1a9dbf8d591b0f6cc6.png作者简介:一名大一在校生

1dcdea841dc84e5daf2868d121ca7b4e.png个人主页:月亮嚼成星~

06594baba3894494a77f632d61a0a55d.png个人WeChat:yx1552029968

cf768df40706413e9fef3a992ed367c8.png系列专栏:Java SE基础

39190fda869b4100bc23b9d7a235d91c.png每日一句: 你过得太闲,才有时间执着在无意义的事情上,才有时间无病呻吟所谓痛苦。你看那些忙碌的人,他们的时间都花在努力上。

🐳1.位运算

🐬1.1按位与 &:

如果两个二进制位都是 1, 则结果为 1, 否则结果为 0

public class Test {
    public static void main(String[] args) {
        int a=10;
        int b=1;
        int c=a&b;
        System.out.println(c);
    }
}

🐬1.2按位或 |:

如果两个二进制位都是 0, 则结果为 0, 否则结果为 1

public class Test {
    public static void main(String[] args) {
        int a=10;
        int b=1;
        int c=a|b;
        System.out.println(c);
    }

}

🐬1.3按位取反 ~:

如果该位为 0 则转为 1, 如果该位为 1 则转为 0

public class Test {
    public static void main(String[] args) {

        int a=10;
         a=~a;
        System.out.println(a);
    }

}

🐬1.4按位异或 ^:

如果两个数字的二进制位相同, 则结果为 0, 相异则结果为 1

public class Test {

    public static void main(String[] args) {
        int a=10;
        int b=1;
        int c=a^b;
        System.out.println(c);
    }

}

🐳2.移位运算

🐬2.1 左移 <<:

最左侧位不要了, 最右侧补 0

public class Test {

    public static void main(String[] args) {
        int a=10;
        int b=a<<1;
        System.out.println(b);

    }

}

🐬2.2右移 >>:

最右侧位不要了, 最左侧补符号位(正数补0, 负数补1)

public class Test {
    public static void main(String[] args) {
        int a=10;
        int b=a>>1;
        System.out.println(b);
    }

}

🐬2.3无符号右移 >>>:

最右侧位不要了, 最左侧补 0.

public class Test {
    public static void main(String[] args) {
        System.out.println(1>>>1);
        System.out.println(-1>>>1);
    }

}

多谢兄弟们

码字不易,求个三连。

查看源图像

标签: java jvm servlet

本文转载自: https://blog.csdn.net/m0_67995737/article/details/126018014
版权归原作者 月亮嚼成星~ 所有, 如有侵权,请联系我们删除。

“【Java SE]位运算和移位运算注意事项”的评论:

还没有评论