程序员面试金典 -- 整数转化
题目描述
编写一个函数,确定需要改变几个位,才能将整数A转变成整数B。
给定两个整数int A,int B。请返回需要改变的数位个数。
测试样例:
10,5
返回:4
class Transform { public: int calcCost(int A, int B) { // write code here int cnt = 0, val = A^B; while(val){ if(val%2 == 0){ val /= 2; }else{ val = (val - 1)/2; cnt++; } } return cnt; } };