文档章节

重载 高精度

Loi_DL
 Loi_DL
发布于 2016/11/03 07:41
字数 258
阅读 4
收藏 0
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
char s[4000];
struct Big
{
int a[4900];
int x;

};
Big operator +(Big A,Big B)
{
int x=max(A.x,B.x);
for(int i=1;i<=x;i++)
{
A.a[i]+=B.a[i];
A.a[i+1]+=A.a[i]/10;
A.a[i]%=10;
}
return A;
}
Big operator -(Big A,Big B)
{
int x=A.x;
for(int i=1;i<=x;i++)
{
A.a[i]-=B.a[i];
if(A.a[i]<0)
{
A.a[i]+=10;
A.a[i+1]-=1;
}
}
return A;
}
Big operator *(Big A,Big B)
{
Big C;
for(int i=1;i<=4500;i++)
C.a[i]=0;
for(int i=1;i<=A.x;i++)
for(int j=1;j<=B.x;j++)
C.a[i+j-1]+=A.a[i]*B.a[j];
for(int i=1;i<=4500;i++)
{
C.a[i+1]+=C.a[i]/10;
C.a[i]%=10;
}
return C;
}
Big A,B,C;
char q[5];
int main()
{
int n;
cin>>n;
while (n!=0)
{
n--;
scanf("%s",q);
scanf("%s",s);
int x=strlen(s);
for(int i=0;i<x;i++)
A.a[x-i]=s[i]-'0';
A.x=x;
scanf("%s",s);
x=strlen(s);
for(int i=0;i<x;i++)
B.a[x-i]=s[i]-'0';
B.x=x;
if(q[0]=='*')
C=A*B;
if(q[0]=='+')
C=A+B;
if(q[0]=='-')
C=A-B;


int h=0;
for(int i=4500;i>0;i--)
{
int q=C.a[i];
if(!h&&q)
h=1;
if(h)
printf("%d",q); 
if(i==1&&!h)
cout<<0;
}
}
return 0;
}

© 著作权归作者所有

Loi_DL
粉丝 0
博文 60
码字总数 48692
作品 0
莱芜
私信 提问
高精度加、减、乘、除算法实现详解

在说高精度加减乘除运算之前,我们先搞明白什么是高精度运算? 实际上高精度就是说参与运算的数据和运算结果的范围,超出标准数据类型能表示的数据大小范围的运算。这个时候,如果要得到正确...

fanyun_01
2018/04/16
0
0
星舆科技:打造下一代定位技术 以高精度位置感知构筑AI+时代基础力量

在人工智能全面爆发的前夜,高精度位置感知成为了其中最重要的基础能力之一。 高精度的位置感知可以使虚拟空间和现实空间的映射精准地连接起来,让机器不仅能够知道自己的坐标并且能够读懂坐...

Dude
2019/01/11
0
0
高精度地图服务之路,能带领极奥度过初创公司的寒冬期吗? | 2018全球智能驾驶峰会

车厂要地图干什么? 对话前,极奥创始人兼CTO王雪坤向新智驾抛出这一问题,随即又说出了自己的看法:地图本身是没有意义的一件事,单纯的地图不能解决任何问题,仅作为工具使用。类似于与传统...

于胜越
2018/09/26
0
0
SylixOS高精度时钟分析

1.Tick工作原理简介 Tick工作原理其实就是硬件定时器的工作原理,1个系统tick就代表一个定时器硬件中断。定时器的工作原理很简单,就是内部有一个递减的计数器,当减到0时产生一个中断,如图...

深山野老
2017/10/25
8
0
PHP浮点数的精确计算BCMath

Php: BCMath bc是Binary Calculator的缩写。bc*函数的参数都是操作数加上一个可选的 [int scale],比如string bcadd(string leftoperand,stringleftoperand,stringright_operand[, int $scal......

桃子红了呐
2017/01/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何在Python上使用“ pip”安装psycopg2?

我正在使用virtualenv ,需要安装“ psycopg2”。 我已经完成以下工作: pip install http://pypi.python.org/packages/source/p/psycopg2/psycopg2-2.4.tar.gz#md5=24f4368e2cfdc1a2b03282......

javail
24分钟前
7
0
How to Install Java on Debian 9

In this tutorial, we will walk through installing Java on Debian 9. Java is one of the most popular programming languages used to build different kinds of applications and syste......

Ciet
28分钟前
16
0
typescript学习资料

typescript 教程 深入理解 TypeScript

IT追寻者
36分钟前
6
0
剑指Offer - 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值

题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,...

SongAlone
39分钟前
9
0
将C ++模板函数定义存储在.CPP文件中

我有一些模板代码,希望将其存储在CPP文件中,而不是内联在标头中。 我知道只要您知道将使用哪种模板类型就可以做到。 例如: .h文件 class foo{public: template <typename T> vo...

技术盛宴
39分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部