(八)剑指offer之1的个数和数值的整次方
1、题目描述:
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
class Solution {
public:
int NumberOf1(int n) {
int count = 0;
while(n){
++count;
n = (n-1)&n;
}
return count;
}
};
2、题目描述:
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
class Solution {
public:
double Power(double base, int exponent) {
if(equal(base, 0.0) && exponent < 0) return 0.0;
double result = 1.0;
unsigned int abs_exponent = (unsigned int)exponent;
if(exponent < 0) abs_exponent = (unsigned int)(-exponent);
for(int i=0;i<abs_exponent;++i){
result *= base;
}
if(exponent < 0)
return 1.0 / result;
else
return result;
}
bool equal(double num1, double num2){
if(num1 - num2 < 0.0000001 && num1 - num2 > -0.0000001)
return true;
else
return false;
}
};
如有建议或其他问题,可随时给我们留言。或者到以下链接:
Star/Fork/Push 您的代码,开源仓库需要您的贡献。
请查看Coding 题目网址和收藏Accepted代码仓库,进行coding!!!