JavaSE7基础 位运算 int类型变量进行 按位 与或非异或

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaSE7基础 位运算 int类型变量进行 按位 与或非异或相关的知识,希望对你有一定的参考价值。



jdk版本  :jdk-7u72-windows-i586
系统     :Windows7
编辑器   :Notepad++ v7.4.2
注意事项 :博文内容仅供参考,不可用于其他用途。

 

 

代码

class Demo{
	public static void main(String[] args){
		int a=3;
		int b=4;
		
		//位运算
		//必须先把数据换算成二进制
		//int类型 32bit
		//a 3 11   => 0000 0000 0000 0000 0000 0000 0000 0011 
		//b 4 100  => 0000 0000 0000 0000 0000 0000 0000 0100
		
		System.out.println(a&b);//全1出1
		System.out.println(a|b);//有1出1
		System.out.println(a^b);//不同出1
		System.out.println(~b);//按位取反,0则1
		
		/*
			0000 0000 0000 0000 0000 0000 0000 0100(补码,b的)
		       ~1111 1111 1111 1111 1111 1111 1111 1011(补码)
			1111 1111 1111 1111 1111 1111 1111 1010(反码)
			1000 0000 0000 0000 0000 0000 0000 0101(原码,也就是看到的)
		*/
		
		int newNum=-4;
		System.out.println(~newNum);
		/*
			1000 0000 0000 0000 0000 0000 0000 0100
			1111 1111 1111 1111 1111 1111 1111 1011
			1111 1111 1111 1111 1111 1111 1111 1100(补码,newNum的)
			
		       ~0000 0000 0000 0000 0000 0000 0000 0011(补码,求反后的,正数,原反补相同)	
			0000 0000 0000 0000 0000 0000 0000 0011(反码)
			0000 0000 0000 0000 0000 0000 0000 0011(原码)
		*/
	}
}

 

 

编译与运行

技术分享

 




——————————————————————————————————————————
Java,优秀,值得努力学习。
学习资源:黑马程序员_Java基础视频-深入浅出精华版/*来自黑马云课堂,网上可以找到*/
如果您觉得博文内容有可以优化的地方,请留下评论,我会认真思考的。












以上是关于JavaSE7基础 位运算 int类型变量进行 按位 与或非异或的主要内容,如果未能解决你的问题,请参考以下文章

JavaSE7基础 定义byteshortlongfloat类型变量

JavaSE7基础 char类型的变量存储一个汉字

java 基础面试

JavaSE7基础 变量名的开头可以使用$

使用按位运算将 Int 转换为 Float 或将 Float 转换为 Int(软件浮点)

Java基础-位运算