与二进制中1的位数有关题目
来源:互联网 发布:中国流行音乐发展知乎 编辑:程序博客网 时间:2024/06/06 17:11
判断一个整数是否为2的整数次方
题目:用一条语句判断一个整数是不是2的整数次方。
解题思路:一个整数如果是2的整数次方,那么它的二进制表示中有且只有一位是1,而其它所有位都是0。可以将这个整数减去1之后再和它自己做与运算,如果结果为0,表示该整数只有一位1,是2的整数次方;如果结果不为0,表示该整数不是2的整数次方。
function expOf2($num){ //返回1,表示$num是2的整数次方 return $num&($num-1) ? 0 : 1; }
输入两个整数m和n,计算需要改变m的二进制表示中的多少位才能得到n
题目:输入两个整数m和n,计算需要改变m的二进制表示中的多少位才能得到n。比如10的二进制表示为1010,13的二进制表示为1101,需要改变1010中的3位才能得到1101。
解题思路:我们可以分为两步解决这个问题:第一步求这两个数的异或,可以将两个数不同进制位改为1;第二步统计异或结果中1的位数。
function mToN($m , $n){ $result = $m ^ $n;//得到异或结果 return numberOf1($result);//参考二进制中1的个数中函数 }
0 0
- 与二进制中1的位数有关题目
- 整数的二进制中1的位数
- 计算二进制中1的位数
- 求整数中比特为1的二进制位数
- 题目1513:二进制中1的个数
- 题目1513:二进制中1的个数
- 题目1513:二进制中1的个数
- 题目1513:二进制中1的个数
- 题目1513:二进制中1的个数
- 题目1513:二进制中1的个数
- 题目1513:二进制中1的个数
- 题目1513:二进制中1的个数
- 题目1513:二进制中1的个数
- 题目1513:二进制中1的个数
- 一个整数中二进制的位数
- 剑指offer面试题10:二进制中1的个数(与位运算有关)
- 有关统计二进制中1的个数的奇妙代码
- n位二进制中1和0的有关问题
- iOS开发-UITextField(输入框)用法详解
- 2015从BAT看中国互联网
- git 非常用命令笔记
- android java.lang.NoSuchFieldError: R$id.xxx
- Android中的抽象类和接口实践
- 与二进制中1的位数有关题目
- SpringMVC表单标签简介
- Boost 学习之算法篇 is_sorted
- XMLHttpRequest 对象解析
- DateTime操作;
- maven仓库--私服(Nexus的配置使用)
- Codeforces Round #338 (Div. 2):(615A)
- Kafka学习-系列一
- 代码分析工具 findBugs