Java 位运算的解读 & | ^ ~ << >>
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));
随机推荐
- MySQL存储之为什么要使用B+树做为储存结构?
导言: 在使用MySQL数据库的时候,我们知道了它有两种物理存储结构,hash存储和B+树存储,由于hash存储使用的少,而B+树存储使用的范围就多些,如 InnoDB和MYISAM引擎都是使用的B+ ...
- Centos安装ELK
目录 安装Elastic Search 安装 Java 安装Elastic Search 修改配置 开放端口 访问地址 相关命令 安装elasticsearch-head插件 安装Git 安装node ...
- 【Nginx】Nginx访问静态资源
Nginx访问静态资源 即通过IP:端口/文件名 访问文件实现. 修改Nginx配置 location / { # root html; # index index.html index.htm; a ...
- java协程线程之虚拟线程
前言 众所周知,java 是没有协程线程的,在我们如此熟知的jdk 1.8时代,大佬们想出来的办法就是异步io,甚至用并行的stream流来实现,高并发也好,缩短事件处理时间也好:大家都在想着自己认为 ...
- [Spring+SpringMVC+Mybatis]框架学习笔记(六):Spring_AspectJ实现AOP
第6章 Spring_AspectJ实现AOP 6.1 什么是AspectJ 对于AOP的这种编程思想,有很多框架或者组件进行了实现,spring实现AOP就是其中的一种. AspectJ也实现了AO ...
- Java原生图片Base64转码与Base64解码
原文地址 import org.apache.commons.codec.binary.*; import java.io.*; import java.net.*; /** * 将file文件转换为 ...
- ROS的通信机制
通信机制 节点--执行单元 执行具体任务的进程.独立运行的可执行文件: 不同节点可以使用不同的编程语言,可分布式运行在不同的主机上. 节点在系统中的名称是必须是唯一的. 节点管理器(ROS Maste ...
- 仪酷LabVIEW AI视觉工具包及开放神经网络交互工具包常见问题解答
前言 哈喽,各位朋友,好久不见~ 之前给大家分享了基于LabVIEW开发的AI视觉工具包及开放神经网络交互工具包,不少朋友私信说在安装和使用过程中会遇到一些问题,今天我们就集中回复一下大家问到最多的问 ...
- 使用wsl 清理windows 下的C盘
大文件删除思路 ## 在wsl 中可以看到,C盘已经挂载了,挂载点为/mnt/c dewan@wsl ~% df /mnt/c Filesystem Size Used Avail Use% Moun ...
- 2021-7-6 vue音乐播放器
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script sr ...