[javaSE] 位运算符&|^

位运算是直接对二进制进行计算

左移 <<

右移 >>

 

先把整数换成四个8bit 0000-0000 0000-0000 0000-0000 0000-0000

这个二进制左右移动,移除来的那头用0补齐

 

规律:

6<<3意思就是 6乘以23次方

6>>3意思就是6除以23次方

 

& 与运算

| 或运算

^ 异或运算

先把十进制整数转成二进制,两个数上下对应

6&3 意思就是,对应位置一致,都是1就得1,其他的都是0

6|3 意思就是,对应位置一致,只要有1就是1,都是0才得0

6^3 意思就是,对应位置一致,上下相同的得0,不同的得1

 

110

011&与运算

010 =2

 

110

011 |或运算

111 =7

 

110

011^异或

101 =5

 

这些位运算可以用来做加密功能

public class VariableDemo {

    /**
     * @param args
     */
    static void main(String[] args) {
        System.out.println(6<<3);//输出48
        System.out.println(6>>3);输出 0
        System.out.println(6&3);输出 2
        System.out.println(6|3);输出 7
        System.out.println(6^3);输出 5
    }

}

 

相关文章

@ 注解能被用来为程序元素( 类、 方法、 成员变量等) 设置...
@ 1、线性表的概念 线性表是最常见也是最简单的一种数据结构...
简介 ArrayList是开发中使用比较多的集合,它不是线程安全的...
在 Java String类源码阅读笔记 里学习了String类的源码,Str...
话不多说,先上图。 1、基本概念 欲说线程,必先说进程。 进...
@ 网络基础 计算机网络是指两台或更多的计算机组成的网络,在...