位运算在算法中常见的骚操作

本文介绍了位运算在算法中的常见应用,包括判断奇偶、获取二进制位、无辅助空间交换数字、求绝对值、解决数组中重复元素问题、寻找唯一出现一次的数,以及判断2的次幂和计数二进制中1的个数。通过这些实例展示了位运算的高效性和实用性。
摘要由CSDN通过智能技术生成

常用用法

		//>>>表示高位补0 或者 >>有符号数补符号位
		System.out.println(1<<35);//8
		System.out.println(1<<3);//8
1.判断奇偶
		//奇数最低位为1,偶数最低位为0
		//直接与一&就能判断1为奇数,0为偶数
		int number;
		if(nember & 1 == 1){
   
		System.out.println("奇数");
		}else{
   
		System.out.println("偶数");
		}
2.获取二进制某一位到底是0还是1
		/**
		 * 判断一个二进制数的某一位是0还是1
		 * 
		 */
			int number = 7;
			int index = 1;
			//将一个数转换为二进制
			String binary = Integer.toBinaryString(number);
			//将number移到所要求的位置并相与
			int res = (number>>index)&1;
			System.out.println(res);

3.两个数的交换

			int number1 = 7;
			int number2 = 1;
			
			number1 = number1 ^ number2;
			number2 = number1 ^ number2;
			number1 = number1 ^ number2;
			System.out.println(number1 +""+number2);

4.不使用判断语句求一个数的绝对值

			
			int number1 = -7;
			
			System.out.println(number1 * (1 - ((number1 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值