Java中的位运算包括以下几种:

  按位与(&):对应位上,如果两个数都是1,则结果为1,否则为0。

    int a = 3; // 二进制 0011
    int b = 5; // 二进制 0101
     // 0001 = 1
    System.out.println("a & b = " + (a & b));

  按位或(|):对应位上,如果两个数有一个为1,则结果为1,否则为0。

        int a = 3; // 二进制 0011
int b = 5; // 二进制 0101
// 0111 = 7
System.out.println("a | b = " + (a | b));

  按位异或(^):对应位上,如果两个数不相同,则结果为1,否则为0。

        int a = 3; // 二进制 0011
int b = 5; // 二进制 0101
// 0110 = 6
System.out.println("a ^ b = " + (a ^ b));

  按位取反(~):对每一位,将0变为1,将1变为0。

        // ~ 的运算规则:
// ~0 = -1
// ~1 = -2
// ~2 = -3
// ~3 = -4
// 因此,~3 = 1100 = -4
int a = 3; // 二进制 0011
// 1100 = -4
// a + ~a = -1 ,等于 1111
// 1111 + 1 = 0000 = 0
System.out.println("~a= " + (~a));

  左移(<<):将二进制数向左移动指定位数,右边用0填充。

        int b = 5; // 二进制 0101
// 1010 = 10 b << 1
// 10100 = 20 b << 2
System.out.println("b << 2 " + (b << 1));

  右移(>>):将二进制数向右移动指定位数,左边用符号位填充。

        int b = 5; // 二进制 0101
// 0010 = 2 b >> 1
// 0001 = 1 b >> 2
System.out.println("b >> 2 " + (b >> 2));

随机推荐

  1. MySQL存储之为什么要使用B+树做为储存结构?

    导言: 在使用MySQL数据库的时候,我们知道了它有两种物理存储结构,hash存储和B+树存储,由于hash存储使用的少,而B+树存储使用的范围就多些,如 InnoDB和MYISAM引擎都是使用的B+ ...

  2. Centos安装ELK

    目录 安装Elastic Search 安装 Java 安装Elastic Search 修改配置 开放端口 访问地址 相关命令 安装elasticsearch-head插件 安装Git 安装node ...

  3. 【Nginx】Nginx访问静态资源

    Nginx访问静态资源 即通过IP:端口/文件名 访问文件实现. 修改Nginx配置 location / { # root html; # index index.html index.htm; a ...

  4. java协程线程之虚拟线程

    前言 众所周知,java 是没有协程线程的,在我们如此熟知的jdk 1.8时代,大佬们想出来的办法就是异步io,甚至用并行的stream流来实现,高并发也好,缩短事件处理时间也好:大家都在想着自己认为 ...

  5. [Spring+SpringMVC+Mybatis]框架学习笔记(六):Spring_AspectJ实现AOP

    第6章 Spring_AspectJ实现AOP 6.1 什么是AspectJ 对于AOP的这种编程思想,有很多框架或者组件进行了实现,spring实现AOP就是其中的一种. AspectJ也实现了AO ...

  6. Java原生图片Base64转码与Base64解码

    原文地址 import org.apache.commons.codec.binary.*; import java.io.*; import java.net.*; /** * 将file文件转换为 ...

  7. ROS的通信机制

    通信机制 节点--执行单元 执行具体任务的进程.独立运行的可执行文件: 不同节点可以使用不同的编程语言,可分布式运行在不同的主机上. 节点在系统中的名称是必须是唯一的. 节点管理器(ROS Maste ...

  8. 仪酷LabVIEW AI视觉工具包及开放神经网络交互工具包常见问题解答

    前言 哈喽,各位朋友,好久不见~ 之前给大家分享了基于LabVIEW开发的AI视觉工具包及开放神经网络交互工具包,不少朋友私信说在安装和使用过程中会遇到一些问题,今天我们就集中回复一下大家问到最多的问 ...

  9. 使用wsl 清理windows 下的C盘

    大文件删除思路 ## 在wsl 中可以看到,C盘已经挂载了,挂载点为/mnt/c dewan@wsl ~% df /mnt/c Filesystem Size Used Avail Use% Moun ...

  10. 2021-7-6 vue音乐播放器

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script sr ...