java位移运算

本文深入探讨了Java中位运算的基本概念、符号及其应用,通过实例展示了如何使用位运算符进行左移、右移、按位与、按位或、按位异或等操作,并提供了实际代码演示。

Java的位运算(bitwise operators)直接对整数类型的位进行操作,这些整数类型包括long、int、short、char和 byte,位运算符具体如下表:

运算符

说明

<<

左移位,在低位处补0

>>

右移位,若为正数则高位补0,若为负数则高位补1

>>>

无符号右移位,无论正负都在高位补0

&

与(AND),对两个整型操作数中对应位执行布尔代数,两个位都为1时输出1,否则0

|

或(OR),对两个整型操作数中对应位执行布尔代数,两个位都为0时输出0,否则1

~

非(NOT),一元运算符。

^

异或(XOR),对两个整型操作数中对应位执行布尔代数,两个位相等0,不等1

<<=

左移位赋值。

>>=

右移位赋值。

>>>=

无符号右移位赋值。

&=

按位与赋值。

|=

按位或赋值。

^=

按位异或赋值。



package com.nemo.jvm.day1;

/**
 * 
 * 位移运算
 * 
 * @author tanyouhao
 * 
 */
public class BinaryMove {
	public static void main(String[] args) {
		int a = (3 & 5);
		System.out.println(a);
		System.out.println(Integer.toBinaryString(3));
		System.out.println(Integer.toBinaryString(5));
		
		System.out.println();
		int b=(-3>>1);  
		System.out.println(b);  
		System.out.println(Integer.toBinaryString(-3));   
		System.out.println(Integer.toBinaryString(-2));  
		
		System.out.println();
		int c=(-3<<1);  
		System.out.println(c);  
		System.out.println(Integer.toBinaryString(-3));   
		System.out.println(Integer.toBinaryString(-6)); 
		
		System.out.println();
		int d=(-3>>>1);  
		System.out.println(d);  
		System.out.println(Integer.toBinaryString(-3));   
		System.out.println(Integer.toBinaryString(2147483646));  
		
		
		
	}
}

结果:

1
11
101

-2
11111111111111111111111111111101
11111111111111111111111111111110

-6
11111111111111111111111111111101
11111111111111111111111111111010

2147483646
11111111111111111111111111111101
1111111111111111111111111111110



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值