首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
高精度模拟加法减法
📅 2026/10/5 12:58:45
✍️ 爱科研究院
👁 阅读 3,247
提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档高精度模拟加法减法前言一、高精度加法的实现二、高精度减法的实现1.总结1、比如减法实现里面的删除前导零没有考虑到结果全是零的情况2、减法实现里没有实现带有前导零的输入的处理前言大一新生学习 C 算法记录自己的学习过程。想要做一些内容输出来提高自己这个内容是关于超出内存范围的高精度加法模拟。一、高精度加法的实现stringadd(string x,string y){string res;// res储存最后返回的答案intcarry0;// carry储存进位intlenmax(x.size(),y.size());// 获取两个字符串中最长的长度for(inti0;ilen;i){if(carry0)// 如果没有进位就在末位加0res.push_back(0);intxi,yi;// xi,yi代表当前对齐的if((int)x.size()-1-i0)// 判断是否超过了最高位xi0;elsexix[x.size()-1-i]-0;// 没超过的话就获取该位的数字// 字符转数字要减去0if((int)y.size()-1-i0)// 判断是否超过了最高位yi0;elseyiy[y.size()-1-i]-0;// 同理intsumxiyicarry;// 当前位次的加法是当下位置的数字之和res[i]sum%100;// 加上位置的进位 第一位置的进位设置为0carrysum/10;// 总和除以10就是进位的数字if(carry!0)// 如果进位了就在后面加上进位的数字res.push_back(carry0);}reverse(res.begin(),res.end());// 由于这个模拟是倒着储存的 (如s[0]存的是个位数)returnres;// 所以反转字符串 最后输出}二、高精度减法的实现1.stringsub(string x,string y){booloktrue;// 标记结果的正负string res,s;// res 储存最后返回的答案intlenmax(x.size(),y.size());// 获取最长if(x.size()y.size())// 保证 x 为大{for(inti0;ilen;i){if(x[i]y[i]){break;}if(x[i]y[i]){sx;xy;ys;okfalse;// 如果 x 不为大标记为负数break;}}}elseif(x.size()y.size()){sx;xy;ys;okfalse;// 如果 x 不为大标记为负数}intcarry0;// 获取借位for(inti0;ilen;i){res.push_back(0);// 加法会进位但是减法不会intxi,yi;if((int)x.size()-1-i0)xi0;elsexix[x.size()-1-i]-0;if((int)y.size()-1-i0)yi0;elseyiy[y.size()-1-i]-0;intsumxi-yicarry;res[i](sum10)%100;// 保证是正数carry(sum-9)/10;}for(intilen-1;i0;i--)// 减法会导致前导零我们去除它们让 i 0{// 也就是到 i 1 是为了保留最后一个零这个地方我漏掉了是 AI 帮助我补全的if(res[i]0)res.pop_back();elsebreak;}reverse(res.begin(),res.end());// 同理是由个位到高位的储存反转字符串if(okfalse)res-res;returnres;}总结这是我关于高精度模拟的学习记录还有很多不足。1、比如减法实现里面的删除前导零没有考虑到结果全是零的情况2、减法实现里没有实现带有前导零的输入的处理感觉实现起来有些许繁琐希望可以在编程学习方面越走越远吧。然后每天都发一些学习的内容做内容输出来提升自己和鞭策自己学习bushi
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/10/5 12:53:45
OTP与EEPROM读取处理的硬件本质与工程避坑指南
2026/10/5 12:53:44
awesome-free-models语音模型指南:7个免费开源TTS与语音识别神器
2026/10/5 12:53:44
Python逆向发票查验平台:从抓包定位加密参数到批量自动化实战
2026/10/5 13:48:47
插件系统加载与激活失败排查:从CLI、SDK到entries did not activate
2026/10/5 13:48:47
鸿蒙 Flutter 适配 llm_dart:多模型统一接入实战解析
2026/10/5 13:48:47
HWSD2全球土壤数据:从分类代码到属性栅格的完整处理要点
2026/10/5 13:48:47
Flutter 2048游戏迁移OpenHarmony实战:从手势识别到动画全解析
2026/10/5 13:48:47
校园生活服务平台实战拆解:从信息聚合到信任沉淀
2026/10/5 13:43:47
微信对话模拟生成器20.0测评:长截图、MP4录制与发送文件全实操
2026/10/5 0:02:57
AZ-104题库深度拆解:从刷题到掌握Azure管理员核心考点
2026/10/5 0:02:57
WorkBuddy:基于MCP协议的组织级工作流神经中枢
2026/10/5 0:02:57
大模型 / AI 应用常见面试题及答案汇总(2026 最新版):用 TaoToken 统一 Key 跑通高频考点代码验证
2026/10/5 4:43:56
Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化
2026/10/5 1:10:25
多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系
2026/10/5 13:05:37
hindsight:面向LLM应用的事后可观测性工程实践
2026/10/4 2:41:08
我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
2026/10/4 17:59:15
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026/10/3 15:20:14
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)