C++实现大数据乘法
结构体定义与封装
struct bigdatacom
{
private :char dataa[100];char datab[100];
public :void init(const char *str1,const char *str2){std::cout<<typeid(*this).name()<<std::endl;strcpy(this->dataa,str1);strcpy(this->datab,str2);}char * getbigdata(){int lengtha = strlen(dataa);int lengthb = strlen(datab);int *pres = (int *)malloc(sizeof(int)*(lengtha + lengthb));memset(pres, 0, sizeof(int)*(lengtha + lengthb));//初始化//累乘for (int i = 0; i < lengtha;i++){for (int j = 0; j < lengthb;j++){pres[i+j+1]+=(dataa[i] - '0')*(datab[j] - '0');}}//进位for (int i = lengtha + lengthb-1;i>=0;i--){if (pres[i]>=10)//进位{pres[i - 1] += pres[i] / 10;//进位pres[i] %= 10;//取出个位数}}int i = 0;while (pres[i]==0){i++;//恰好不为0的位置}char *lastres = (char*)malloc(sizeof(char)*(lengtha + lengthb));int j;for (j = 0; j < lengtha + lengthb; j++, i++){lastres[j] = pres[i] + '0';}lastres[j] = '\0';//printf("last结果=%s",lastres);return lastres;}};
2 main函数
void main()
{bigdatacom big1; //C语言中结构体定义必须带struct,C++中不必big1.init("234546869966543","45645663453223323423423");int n=strlen(big1.getbigdata());string s=big1.getbigdata();s=s.substr(0,n-1);std::cout<<s<<std::endl;//big1.getbigdatasystem("pause");
}
- 运行结果
结果后面会多出一个-号,可能是因为栈溢出或者某个地方初始化错误,利用了C++的substr方法处理了,在其中遇到一个问题,就是已经引入了
#include
String仍旧显示未定义的标识符,原因是没有写using namespace std;
C++实现大数据乘法相关推荐
- 大数据的乘法实现——C语言
1大数据乘法的算法思路: 输入两个字符串,得到结果,例如:123456789*123456789: 思路:1)首先 123456789*1 = 9 18 27 36 45 54 63 ...
- 大数据的乘法应用——阶乘(初学者的情怀)
对于我这个初学者来说,对于大数据的处理还是蛮头大的,而此文主要给出了阶乘下的大数据的乘法,分享给大家..... #include<iostream> #include<iomanip ...
- 大数据教父Micheal Stonebraker告诉你大数据的秘密
微信公众号:微软研究院 class="video_iframe" height="502.5" width="670" frameborde ...
- 使用快速傅里叶变换计算大整数乘法-代码
在上一篇随笔"使用快速傅里叶变换计算大整数乘法"中,已经讲述了使用快速傅里叶变换计算大整数乘法的原理.在这一篇随笔中,我们就使用快速傅里叶变换来实现一个提供任意精度的算术运算的静态 ...
- 从道的角度来论述大数据对企业价值
本文更多是从比较高的层面,也许就是我们说的"道"的层面去思考大数据如何对于一个企业产生价值.有很多观点的值得借鉴,值得大家去深入思考的,本文更多是一个方向,一个比较"虚& ...
- 关于大数据的那些事儿
传说中大数据处理的那些事曾是那样的困扰我们. 往往是我们的面试杀手. 其实面对大数据的运算就是划分,根据庖丁解牛的原理: 方法有很多.但是最常用的是用数组和链表存储每一位数据.这两种方法各有优略. 下 ...
- 基于PyTorch重写sklearn,《现代大数据算法》
HyperLearn是一个基于PyTorch重写的机器学习工具包Scikit Learn,它的一些模块速度更快.需要内存更少,效率提高了一倍. 专为大数据而设计,HyperLearn可以使用50%以下 ...
- 巅峰对话:畅想大数据时代的车联网与智能汽车
ZD至顶网CIO与应用频道 01月20日 北京消息:2016年1月20日,数据猿作为独家全程直播与专访媒体,受邀参加"全球大数据峰会 Global Big Data Conference 简 ...
- 大数据技术 学习之旅_数据-数据科学之旅的起点
大数据技术 学习之旅 什么是数据科学? (What is Data Science?) The interesting thing about Data Science is that it is a ...
最新文章
- g-gdb工具使用图谱(持续更新)
- mysql每次查询1000条数据库_30多条mysql数据库优化方法,千万级数据库记录查询轻松解决...
- IE的hasLayout
- man services时“没有services的手册页条目”→Centos 安装man帮助文档包
- java 扫雷 实验报告_java实现简单扫雷
- 【问题解决】QT报错 undefined reference to `__imp__ZN11QSerialPortD1Ev‘
- python 转盘 圆形,用python实现一个转盘
- mysql根据idb还原数据_转一篇文章:MySQL 通过idb文件恢复Innodb 数据
- UIImagePickerController编辑图片框大小的问题
- Unity Addressable学习笔记二(Hosting热更新)
- 小牛电动电池黑科技曝光,够创新才能够实力
- linux 解决wps文档显示异常问题
- ZYNQ RFSoc开发板-usrp软件无线电X410mini开发板-5G评估板
- OMAP3630 Linux I2C总线驱动分析(2)
- 自组网灵活补盲|北峰油气田勘测解决方案
- linux服务器上装r,linux服务器安装R语言及Rstudio server
- 【Android 10 源码】healthd 模块 BatteryService 初始化
- linux搭建Kafka集群
- 思科防火墙多端口映射多端口
- 超级科学计算机bug,10%+10%=0.11?一个隐藏的BUG!手机计算器几乎全算错!