11.位运算符:什么是位运算符???位运算符共有哪七种???位运算符和逻辑运算符的区别是什么???

11.位运算符:什么是位运算符???位运算符共有哪七种???位运算符和逻辑运算符的区别是什么???

学习:第7遍


1.什么是位运算符???位运算符共有哪七种???

位运算符是针对二进制的位进行运算
先将值转换为二进制后进行按位运算

7种位运算符:
——》>> 右移
——》<< 左移
——》>>> 无符号右移
——》&按位与
——》|按位或
——》~按位取反
——》^ 按位异或


2.位运算符和逻辑运算符的区别是什么???

逻辑运算符是针对布尔值进行运算
位运算符是针对二进制数的位进行运算


public class Test {	
	public static void main(String[] args)
	{
		// 5二进制为00000000 00000000 00000000 00000101
		int a = 5; 
		// 8二进制为00000000 00000000 00000000 00001000
		int b = 8; 
		// 与:两位都为1,则为1,否则为0
		// 00000000
		System.out.println("a & b : "+(a & b)); 
		// 或:只要有一个1,则为1,否则为0
		// 00001101
		System.out.println("a | b : "+(a | b)); 
		// 按位取反:如果为1,则为0,如果为0,则为1
		// 11111111 11111111 11111111 11111010
		//这是负数,补码=反码+1,反码就是5+1=6,即-6
		System.out.println("~a  : "+(~a)); 
		//异或:相同则为0,不同则为1
		//00001101
		System.out.println("^a  : "+(a^b)); 
		//左移:向左移指定的位数,末尾补0
		//00010100
		System.out.println("a<<2 : "+(a<<2)); 
		//右移:向右移指定的位数,高位补符号位
		//00000001
		System.out.println("a>>2 : "+(a>>2)); 
		//无符号右移:向右移指定的位数,高位补0
		System.out.println("a>>>2 : "+(a>>>2));
		
	}
}

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 创作都市 设计师:CSDN官方博客 返回首页