0
点赞
收藏
分享

微信扫一扫

java基础4 位运算的一些例子


package endual3;

public class MainApp {

	/**
	 * 位运算
	 * java语言支持整数类型的数据的位运算,位运算操作符包括:
	 * 1.& -- 与运算,二元操作符号,对两个操作元的每个二进制位进行运算
	 *     运算规则是 :1 & 1 = 1; 1 & 0 = 0; 0 & 1 = 1; 0 & 0 = 0;
	 * 2 ^ --异或运算,二元操作符,对两个操作元的每个二进制位进行异或的运算,
	 *    运算规则:1^1 = 0; 1^0=1 ; 0^1 = 1; 0^0 = 0
	 * 3 |---或运算  , 二元操作符,对两个操作元的二进制的进行或运算
	 *    运算规则是: 1 | 1 = 1; 1^0 = 1; 0^1 = 1 ; 0^0 = 0 ;
	 * 4 ^--取反运算 一元操作符,对操作元的每个二进制位进行取反运算,
	 *    运算规则是:~1 = 0 ; ~0 = 1 ;
	 * 5 >> --- 算术右移位运算,二元操作符
	 * 6 >>> -- 逻辑右移位运算,二元操作符
	 * 7 << ---算法左移位运算,二元操作符
	 * 
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		/**
		 * 算术右移位操作符 >>
		 * 操作符 >> 进行算法右移位运算,也称为带符号右移位运算
		 */
		
		int a1 = 12 >> 1 ;//变量a1的取值为6 ;
		
		//对12右移一位的过程中,舍弃了二进制数的最后的一位,在二进制数的开头添加以为符号位,
		//由于12是整数,因此在符号位上添加的是0 
		//00000000 00000000 00000000 0000110 0 ---->0 00000000 00000000 00000000 0000110
		int a2 = -12 >> 2 ; //变量a2的取值为3 ;
		//对于-12右边移动两位的过程中,舍弃二进制数的最后两位,在二进制的开头增加两位符号位,由于-12
		//是负整数,因此增加了两位符号位11,
		//11111111 11111111 11111111 111101 00 -->> 11 11111111 11111111 11111111 111101
		int a3 = 128 >> 2 ; //变量a3的取值为32 ;
		int a4 = 129 >> 2 ; //变量a4的取值为32 ;
		
		/**
		 * 逻辑右移位操作符
		 * 操作符>>>是逻辑右移操作符,也称为不带符号右移操作符号,在移位的过程中,二进制数的开头增加的
		 * 位都是0
		 * 
		 * 举例子不举了
		 */
		
		//左移位操作符 << 
		/**
		 * 操作符  << 执行左移位运算
		 * 
		 * int a1 = 12 << 1 ;
		 * 
		 * 对于12左移以为的过程中,舍弃的是二进制数的开头一位,在二进制数的尾巴增加一位0
		 *
		 * int a2 = -12 << 2 ;
		 * 对于负数-12 ,操作的过程是 舍弃二进制数的开头两位,在二进制数的尾巴增加两位00
		 * 
		 */
		
		
	}

}

举报

相关推荐

0 条评论