欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java二进制运算符

程序员文章站 2022-05-09 08:15:39
...

直接上代码 复制到ide里面可以运算查看结果

package com.bulingfeng.sourceCode;

public class Test {
    public static void main(String[] args) {
        //以下的符号都是针对2进制来的


        /**
         * &  与运算符号  只有两个位上面的值都为1才是1  其他都是0
         */
        int m1=5;//0101
        int m2=12;//1100
        System.out.println(m1&m2);//0100   值为4

        /**
         * | 或运算符  只有位上有一个为1 则该位为1
         */
        System.out.println(m1|m2); //1101   值为13

        /**
         * ^ 异或  只有当两个位不同时候才会是1
         */
        System.out.println(m1^m2);//1001  值为9

        /**
         * int 为4个字节 每个字节为8bit  所以  12的二进制为       10000000  00000000 00000000 001100
         *
         * ~ 取反  全部的1变为0  全部的0变为1
         */
        System.out.println(~12);//
        String binaryStr = java.lang.Integer.toBinaryString(~12);
        System.out.println("取反后的二进制为:"+binaryStr);//11111111111111111111111111110011


        /**
         * <<  整齐向左移位
         */
        System.out.println(m1<<1);//1010   值为10

        /**
         * >>整齐向右移位
         */
        System.out.println(m2>>1);//0110  值为6
        System.out.println(m1>>1);//0010  值为2


    }
}
相关标签: 二进制