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;
    }
};

如有建议或其他问题,可随时给我们留言。或者到以下链接:

https://github.com/gaobaoru/code_day

Star/Fork/Push 您的代码,开源仓库需要您的贡献。

请查看Coding 题目网址和收藏Accepted代码仓库,进行coding!!!