笔记本(c++)

70 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。 如何去除小数的末尾零:

printf("%.45g", f);

如何测代码运行时间

int main()
{
    clock_t start_time=clock();

    for(int i =1; i <= 1000000l; i++)
    {

    }

    clock_t end_time=clock();
    cout<< "Running time is: "<<static_cast<double>(end_time-start_time)/CLOCKS_PER_SEC*1000<<"ms"<<endl;
}

a进制的n如何转化为10进制

int to_ten(int a, string &n)
{
    int res = 0;
    for(int i = 0; i < n.size(); i++)
    {
        res = res*a;
        if(n[i] >= 'A' && n[i] <= 'F') res += n[i]-'A'+10;
        else if(n[i] >= '0' && n[i] <= '9') res += n[i]-'0';
        else if(n[i] >= 'a' && n[i] <= 'f') res += n[i]-'a'+10;
    }
    return res;
}

10进制的n转b进制

string to_b(int b, int n)
{
    string res;
    if(!n) res += '0';//防止输入一个0
    while(n)
    {
        int temp = n%b;
        if(temp >= 10) res += ('A' + temp-10);
        else res += ('0' + temp);
        n /= b;
    }
    reverse(res.begin(), res.end());
    return res;
}

运算符重载

struct W
{
    int a;
    bool operator <(const W &w) const
    {
        return a < w.a;
    }
};