java编程思想练习题-第3章练习10-按位操作

题目:编写一个具有两个常量值得程序,一个具有交替的二进制位1和0,其中最低有效位为0.另一个也具有交替二进制位1和0,但是其最低有效位为1.

取这两个值,用按位操作符以所有可能的方式结合他们。

分析:

使用十六进制常量来表示最合适,也最简单。

import java.util.*; 
public class test {
	
	public static void main(String[] args) {
		Integer a=0xaaaa;
		Integer b=0x5555;
		System.out.println("a="+Integer.toBinaryString(a)+"  b="+Integer.toBinaryString(b));
		//与
		System.out.println("a&b="+Integer.toBinaryString(a&b));
		//或
		System.out.println("a|b="+Integer.toBinaryString(a|b));
		//异或
		System.out.println("a^b="+Integer.toBinaryString(a^b));
		//非
		System.out.println("~a="+Integer.toBinaryString(~a));
		
		System.out.println("~b="+Integer.toBinaryString(~b));
		
	}


}

 结果:

a=1010101010101010  b=101010101010101
a&b=0
a|b=1111111111111111
a^b=1111111111111111
~a=11111111111111110101010101010101
~b=11111111111111111010101010101010

 可以发现执行非操作前面有很多1那是因为int型占32位,高位并没有使用

猜你喜欢

转载自buptchj.iteye.com/blog/2247456
今日推荐