CI5.5-计算将整数A变为整数B需要改变的二进制位数
来源:互联网 发布:linux init.d 编辑:程序博客网 时间:2024/06/05 03:08
实现一个函数,计算将整数A变为整数B需要改变的二进制位数。
例子:
输入:31,14
输出:2
思路:将A和B异或,然后计算结果中1的个数。
#include <iostream>using namespace std;int CountOne(int c){int res = 0;for (int i = 0; i < 32; ++i){if (c & 1 == 1)++res;c >>= 1;}return res;}int BitsRequired(int a, int b){int c = a ^ b;return CountOne(c);}int main(){int a, b;while (cin >> a){cin >> b;cout << BitsRequired(a, b) << endl;}return 0;}
- CI5.5-计算将整数A变为整数B需要改变的二进制位数
- 给定两个正整数(二进制形式表示)A和B,问把A变为B需要改变多少位(bit)?也就是说,整数A和B的二进制表示中有多少位是不同的?
- 给定两个正整数(二进制形式表示)A和B,问把A变为B需要改变多少位(bit)?也就是说,整数A和B的二进制表示中有多少位是不同的?
- 需要改变几位,才能将整数A转成整数B
- 计算整数的位数
- 计算整数的位数
- 如果要将整数A转换为B,需要改变多少个bit位?
- 把整数A转化成B,所需要改变的二进制位的个数是多少?
- 计算整数的位数3
- 将整数A转换为整数B
- 确定需要改变几个位,才能把整数a变成整数b
- 9.5位操作(五)——确定需要改变几个位,才能将整数A转成B
- CI5.6-交换整数二进制形式中的奇数偶数位
- 程序员面试金典: 9.5位操作 5.5编写一个函数,确定需要改变几个位,才能将整数A转成整数B
- 输入两个整数m和n,计算需要改变m的二进制表示中的多少位才能得到n。
- 整数的二进制中1的位数
- 获得一个整数的二进制位数
- 求一个整数的二进制位数
- ThinkPHP中SQL调试方法
- 给分类增加一个属性
- 通过串口使用AT指令发送短消息(下)
- Delphi7语言基础20130716-4
- 检查v$instance时出现 ORA-01012: not logged on
- CI5.5-计算将整数A变为整数B需要改变的二进制位数
- 关于Tinyos安装错误问题
- 解决tomcat6.0.33 配置SSL时报“No Certificate file specified or invalid file format”异常
- POI
- mysqlreport指南
- sizeof() 类大小,空类大小
- linux LVM逻辑卷配置过程详解(增加,减少)
- CAP原理与最终一致性 强一致性 透析
- 嵌入式GSM短信息接口的软硬件设计