码迷,mamicode.com
首页 > 其他好文 > 详细

高精度运算类 bign 和常用运算符重载

时间:2015-07-07 16:15:12      阅读:91      评论:0      收藏:0      [点我收藏+]

标签:

#include <stdio.h>
#include <string.h>
#include <string>
using std::string;
const int maxn = 1000;
struct bign
{
    int len,s[maxn];
    bign(){ memset(s, 0, sizeof(s));len =1;}
    
    //重新定义赋值运算符
    bign operator =(const char* num)
    {
        len = strlen(num);
        for(int i =0;i<len;i++) s[i] = num[len-i-1]-0;
        return *this;
    }
    
    bign operator =(int num)
    {
        char s[maxn];
        sprintf(s, "%d",num);
        *this =s;
        return *this;
    }
    
    bign (int num){ *this =num;}
    bign (const char* num){*this = num;}
    
    string str() const
    {
        string res = "";
        for(int i =0;i<len;i++) res= (char)(s[i]+0)+res;
        if(res == "") res ="0";
        return res;
    }
};
//重新定义》》和《《运算符
//重载bign的常用运算符 +-*/ 》 《 《= 》= != ==

 

高精度运算类 bign 和常用运算符重载

标签:

原文地址:http://www.cnblogs.com/zhuyaguang/p/4627112.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!