Java 按位操作符

来源:互联网 发布:特马技巧算法 编辑:程序博客网 时间:2024/06/07 02:24

前言:

a&b 两个都是1才是1,否则是0

a|b 两个都是0才是0,否则是1

a^b 异或 两个不全是1就是1,否则是0

~a 不是a


一言不合就贴代码:


public class BitOperate {    public static void main(String args[]) {        byte ten = 10;        byte fifteen = 15;        System.out.println("ten ---- >" + Integer.toBinaryString(ten));//ten ---- >1010        System.out.println("fiveteen ---- >" + Integer.toBinaryString(fifteen));//fiveteen ---- >1111        System.out.println("& 与 ---- >" + Integer.toBinaryString(ten & fifteen));//& 与 ---- >1010        //两个不全是1 就是1        System.out.println("^ 异或 ---- >" + Integer.toBinaryString(ten ^ fifteen)); //^ 异或 ---- >101        System.out.println("| 或 ---- >" + Integer.toBinaryString(ten | fifteen));//| 或 ---- >1111        //Integer.toBinaryString会把byte char等转成Integer大小。        System.out.println("~ 非 ---- >" + Integer.toBinaryString(~fifteen));//~ 非 ---- >11111111111111111111111111110000        //运算并且赋值        System.out.println("&= ---- >" + Integer.toBinaryString(ten &= fifteen));//&= ---- >1010        System.out.println("^= ---- >" + Integer.toBinaryString(ten ^= fifteen));//^= ---- >101        System.out.println("|= ---- >" + Integer.toBinaryString(ten |= fifteen));//|= ---- >1111        //~是一元运算符所以不能跟=合用。    }}



0 0