大数运算

大数运算的实现
主要功能:项目解决了巨大整数的计算问题。
实现方式:通过对输入输出和基本运算符的重载,实现大整数的运算功能。
使用技术及环境:VS2013 ,C++,运算符重载。

#define _CRT_SECURE_NO_WARNINGS 1
#include "BigData.h"
#include<iostream>
using namespace std;
void FunTest()
{
cout << atoi("123456789") << endl;
cout << atoi("+1234567890") << endl;
cout << atoi("12345asdf23456") << endl;
cout << atoi("-1234567") << endl;
cout << atoi("+00001234567") << endl;
cout << atoi("+a00001234567") << endl;
}
//void FunTest1()
//{
///* string str("1234567")*/;
// str[4] = '\0';
// cout << str.c_str() << endl;
// cout << str.size() << endl;
//
// BigData bigData("+1234567890345678");
// cout << bigData << endl;
//
// BigData bigData1("+a1234567890345678");
// cout << bigData1 << endl;
//
// BigData bigData2("+000001234567890345678");
// cout << bigData2 << endl;
//
// BigData bigData3("-000001234567890345678");
// cout << bigData3<< endl;
//}
void FunTest2()
{
//BigData left(1234);
//BigData right(4321);
//BigData ret=(left+right);
//cout << ret << endl;
//BigData left1(9223372036854775807);
//BigData right1(2);
//BigData ret1 = (left1 + right1);
//cout << ret1 << endl;
BigData left2(0-9223372036854775808);
    BigData right2(-3);
//BigData ret2 = (left2 + right2);
cout << (left2 + right2) << endl;
}
void FunTest3()
{
//BigData left2(1234);
//BigData right2(34);
//cout << (left2-right2) << endl;
BigData left2("111111111111111111111111111111111");
BigData right2("999");
cout << (left2 - right2) << endl;
}


void FunTest4()
{
BigData left3("110011");
BigData right3("-2222222222222222222222222222222222222222222222");
cout << left3 * right3 << endl;
}
void FunTest5()
{
BigData left5("222222222222222222222222222222222222");
BigData right5("33");
cout << (left5/right5) << endl;
}
int main()
{
//FunTest();
//FunTest1();
//FunTest2();
//FunTest3();
 //FunTest4();
FunTest5();
getchar();
return 0;
}

完整代码请戳下面
https://github.com/shunshierwei/test/tree/master/Bigdata

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值