博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Package Big Int Number Class
阅读量:7000 次
发布时间:2019-06-27

本文共 1274 字,大约阅读时间需要 4 分钟。

  高精度整形数封装类。

  操作符<<和>>注意使用友元标记,否则编译错误。

#include 
#include
#include
using namespace std;struct bign { vector
num; bign() { num.push_back(0); } bign(const char* str) { *this = str; } bign &operator = (const char* str) { string s = str; num.clear(); for (int i=s.size()-1; i>=0; --i) { char c = s[i]; num.push_back(c - '0'); } return *this; } bign operator + (const bign &n) const { bign tmp; tmp.num.clear(); int a = num.size(); int b = n.num.size(); int d = a > b ? b : a; int c = 0; for (int i=0; i
b) { for (int i=d; i
=0; --i) { if (num[i] != n.num[i]) { return num[i] < n.num[i]; } } return false; } friend istream &operator >> (istream &in, bign &n) { string s; in >> s; n = s.c_str(); return in; } friend ostream &operator << (ostream &out, const bign &n) { for (int i=n.num.size()-1; i>=0; --i) { out << n.num[i]; } return out; }};int main() { bign n = "123"; bign m; m = "1123"; cout << n+m << endl; cout << (n
<< endl; return 0;}

 

转载于:https://www.cnblogs.com/awarrior/p/3978680.html

你可能感兴趣的文章
redis多实例重启脚本
查看>>
开发人员学Linux(4):使用JMeter对网站和数据库进行压力测试
查看>>
在51系列中data,idata,xdata,pdata的区别
查看>>
【Deeplearning】关注书目
查看>>
【再见RMQ】NYOJ-119-士兵杀敌(三),区间内大小差值
查看>>
loadrunner中Run-time-Setting设置
查看>>
SSL连接建立过程分析(1)
查看>>
port与大全portClose方法
查看>>
美丽的数学家:如果您讨厌数学,这些其实都是人生故事
查看>>
Kettle 中转换(transformation)的执行过程
查看>>
读书笔记-互联网思维阅读10其中一本书《自由》
查看>>
Spark入门实战系列--5.Hive(上)--Hive介绍及部署
查看>>
tomcat设置web根目录
查看>>
CF 444B(DZY Loves FFT-时间复杂度)
查看>>
OCP-1Z0-051-名称解析-文章12称号
查看>>
UVALive 4225 Prime Bases 贪心
查看>>
Oracle B-tree、位图、全文索引三大索引性能比较及优缺点汇总
查看>>
[.net 面向对象程序设计进阶] (20) 反射(Reflection)(上)利用反射技术实现动态编程...
查看>>
【转】java中float与byte[]的互转 -- 不错
查看>>
[Ogre][地形][原创]基于OgreTerrain的地形实现
查看>>