• 大小: 226KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-14
  • 语言: 其他
  • 标签:

资源简介

Qt计算器源代码

资源截图

代码片段和文件信息

#include“BigInt.h“
BigInt::BigInt()
{
digital[0]=0;   
len=0;       //当前大整数的长度 
sign=0;         //符号为正
    isLegal=true;
}

BigInt::BigInt(qllong obj)
{
    if(obj<0)
    {sign=trueobj = -obj;}
    else sign =false;
    digital[0]=obj%base;len=0;
    while(obj/=base)
    {digital[++len] = obj%base;}
    isLegal=true;
}
BigInt::BigInt(const BigInt &obj)
{
for(len=0sign=obj.sign;len<=obj.len;len++)
digital[len]=obj.digital[len];
len--;
     isLegal=obj.isLegal;
}
BigInt& BigInt::operator =(const BigInt &obj)
{
for(len=0sign=obj.sign;len<=obj.len;len++)
digital[len]=obj.digital[len];
len--;
     isLegal=obj.isLegal;
return *this;
}
BigInt& BigInt::operator = (QString qstr)
{
int i=0jk;
    if(qstr[0]==‘-‘)
    {sign=1;}
else 
    {
        sign=0;
        if(qstr[0]==‘+‘)
            qstr.remove(01);
    }
    i=qstr.length();
for(i=i-baseLENk=0;i>=sign;i-=baseLEN++k)
{
for(j=0digital[k]=0;jseLEN;++j)
        {
            if(qstr[i+j]==‘ ‘)continue;
            digital[k]=digital[k]*10+qstr[i+j].toAscii()-‘0‘;
        }
}
i+=baseLEN;
for(j=signdigital[k]=0;j    {
        if(qstr[j]==‘ ‘)continue;
        digital[k]=digital[k]*10+qstr[j].toAscii()-‘0‘;
    }
if(i==sign)k--;
len=k;
    isLegal=true;
return *this;
}
BigInt BigInt::operator +(const BigInt &obj)
{
BigInt sum;
if(obj.sign==sign)
{ //同号加;
int carry=0i;
for(i=0;i<=len && i <= obj.len;i++)
{
carry = carry +digital[i]+obj.digital[i];
sum.digital[i] = carry%base;
carry= carry/base;
}
for(;i<=len;i++)
{carry = carry + digital[i] sum.digital[i] = carry%base carry/=base;}
for(;i<=obj.len;i++)
{carry = carry +obj.digital[i] sum.digital[i] = carry%basecarry =carry/base;}
if(carry&&i        else if(carry&&i==MAXN){isLegal=false;return *this;}
else sum.len=i-1;
sum.sign = sign;
return sum;
}
else 
{ //异号变同号减法;
sum = obj;sum.sign= !sum.sign;
return *this-sum;
}
}
BigInt BigInt::operator +(int n)
{
if(n==0)
return *this;
if((sign==1&&n<0)||(sign==0&&n>0))
{
int tempcarry=0i=0;
if(n<0)n=-n;
BigInt sum;
if(len==0&&n>=base){digital[1]=0;}  
do
{
temp=n%base;n/=base;
carry+=digital[i]+temp;
sum.digital[i]=carry%base;
carry= carry/base;
i++;
}while(n);
while(i<=len)
{
carry+=digital[i];
sum.digital[i]=carry%base;
carry=carry/base;
i++;
}
if(carry&&i        else if(carry&&i==MAXN){isLegal=false;return *this;}
else sum.len=i-1;
sum.sign=sign;
return sum;
}
else
{
n=-n;
return *this-n;
}
}
BigInt BigInt::operator -(const BigInt &obj)
{
const BigInt *sub1*sub2;
BigInt quotient;
if(sign==obj.sign)
{ //同号减;
int i carry=0;
i = this->Cmp(obj1);                //绝对值比较;
if(i==0)
return quotient;                 //返回一个零
else i

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       4634  2012-10-30 15:00  Calculator\about.ui

     文件      15977  2012-09-09 22:51  Calculator\BigInt.cpp

     文件       1967  2012-08-25 21:34  Calculator\BigInt.h

     文件      57992  2012-12-18 13:15  Calculator\Calc.cpp

     文件       6177  2012-12-18 13:21  Calculator\Calc.h

     文件      40743  2012-12-18 13:13  Calculator\Calculator.cpp

     文件       3302  2012-11-01 00:33  Calculator\Calculator.h

     文件        708  2012-11-02 23:00  Calculator\Calculator.pro

     文件      27169  2012-10-07 11:52  Calculator\Calculator.pro.user

     文件      28244  2012-12-18 19:56  Calculator\Calculator.pro.user.2.5pre1

     文件     155859  2012-11-17 22:56  Calculator\calculator.ui

     文件      10104  2012-11-19 16:31  Calculator\ChildWindow.cpp

     文件       1314  2012-11-01 00:35  Calculator\ChildWindow.h

     文件      35133  2012-12-12 21:33  Calculator\Chinese.qm

     文件     119913  2012-12-12 21:34  Calculator\Chinese.ts

     文件       6098  2012-11-10 19:22  Calculator\Complex.cpp

     文件       1247  2012-11-10 19:22  Calculator\Complex.h

     文件      14598  2012-12-18 13:13  Calculator\constant.ui

     文件       8795  2012-11-10 16:59  Calculator\GeneticAlgorithm.cpp

     文件        766  2012-11-10 16:47  Calculator\GeneticAlgorithm.h

     文件       3462  2012-10-31 23:45  Calculator\history.ui

     文件      13804  2012-10-30 14:31  Calculator\HugeCalc.cpp

     文件       1148  2012-10-18 15:28  Calculator\HugeCalc.h

     文件      33831  2012-11-17 22:54  Calculator\hugeCalc.ui

     文件      67168  2012-08-16 22:51  Calculator\images\banben.png

     文件       1092  2012-08-09 23:12  Calculator\images\clear.png

     文件        909  2012-07-25 16:08  Calculator\images\fold.png

     文件       1135  2012-04-27 03:45  Calculator\images\go-previous.png

     文件       5149  2012-04-27 03:46  Calculator\images\qt-logo.png

     文件       1752  2012-04-27 03:46  Calculator\images\redo.png

............此处省略23个文件信息

评论

共有 条评论

相关资源