与、或、异或、按位取反

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/TONGZONGE/article/details/90112874

与:  求同存异;

或:  相同为同,不同为异;

异或: 相同为0,不同为1;

按位取反: 每位取反。

例如:


public class 补码__二进制 {
/*
 * 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
 */
	public static void main(String[] args) {
		int a=5; 
		
 // 00000000   00000000   00000000  00000101
 
		a = a << 1;  //左移
// 00000000   00000000   00000000  00001010
		System.out.println(a);
		a=5;
		a = a>>1;   // 右移
//00000000   00000000   00000000  00000010
		System.out.println(a);
		
		int b=-5; 
		//00000000 00000000 00000000 00000101  // 5 原码
		//11111111 11111111 11111111 11111010  // 取反
		//11111111 11111111 11111111 11111011  //  加1
		b = b<<1;  // 负数左移
		System.out.println(b);
//11111111 11111111 11111111 11110110
		b=5;
		b = b>>1;  // 负数右移
//11111111 11111111 11111111 11111101
		System.out.println(b);
		
		int c=5;
		int d=10;
		
// 00000000 00000000 00000000 00000101
// 00000000 00000000 00000000 00001010 
//---------------------------------------
// 00000000 00000000 00000000 00000000  // 与
// 00000000 00000000 00000000 00001111  // 或
		c =7;
// 00000000 00000000 00000000 00000111
// 00000000 00000000 00000000 00001010  
//-------------------------------------		
// 00000000 00000000 00000000 00001101  // 异或
// 11111111 11111111 11111111 11111000   // 按位取反	
		System.out.println(c&d);
		System.out.println(c|d);
		System.out.println(~c);
		
		
	}

}

猜你喜欢

转载自blog.csdn.net/TONGZONGE/article/details/90112874