摘要:
基本性质:1:~n=-(n+1),比如:~3=-4 2:获取整数n的二进制串中最后一个1:-n&n=~(n-1)&n 3:去掉整数n的二进制串中最后一个1:n&(n-1) 加法:(以下所有代码都是Java实现) 减法: 乘法: 除法: 测试代码: 测试结果: 阅读全文
摘要:
题目:数组中arr只有一个数出现了1次,其他的数都出现了k次,请输出这个只出现了一次的数。 思路:这道题目要求使用位运算实现,如果采用数据结构Map就会简单很多。解此题前先了解不进位加法的思想,比如两个二进制数10+10 进行不进位加法得到的结果是00(二进制),再比如10个51进行不进位加法结果也 阅读全文
摘要:
题目一:将整数的二进制进行奇偶位互换 实例代码: 运行结果: 题目二:乘2挪整,0-1间浮点实数的二进制表示 给定一个介于0和1之间的实数,(如0.625,类型位double,打印它的二进制表示0.101,因为小数点后的二进制分别表示0.5,0.25,0.125...... 如果该数字无法精确的用3 阅读全文
摘要:
题目一:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。如9的二进制表示为1001,有2位是1. 实例代码: 运行结果: 题目二:用一条语句判断一个整数是不是2的整数次方。 思路:一个整数如果是2的整数次方,那么它的二进制表示中有且仅有一个位是1,而其他所有位都是0,根据上面解法三的分析 阅读全文
摘要:
基础实例一:使用位运算判断数的奇偶性 实例代码: 基础实例二:位运算判断一个数转为二进制后的第i位数是0还是1 实例代码: 基础实例三:位运算交换两个整数变量的值 实例代码: 基础实例四:使用位运算,不用判断语句,求整数的绝对值 实例代码: 异或运算特点: 题目一:找出唯一成对的数 1-1000这1 阅读全文