尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
高精度模拟加法减法
提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档高精度模拟加法减法前言一、高精度加法的实现二、高精度减法的实现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
RELATED

相关推荐

专科论文的“隐形及格线”:趣博思AI帮你避开那些没人明说的坑

专科论文的“隐形及格线”:趣博思AI帮你避开那些没人明说的坑

专科论文的评审标准,和本科、硕博完全不是一回事。王健教授在一场论文写作讲座中对此有一个精准的概括:专科毕业论文重在技术应用,目标是“把事情说明白”;本科及以上则要求“发现问题并逻辑严谨地论证”。 “把事情说明白”——这…

📅 2026/10/5 12:59:08
STM32 PWM+DMA驱动WS2812呼吸灯的纳秒级时序实现

STM32 PWM+DMA驱动WS2812呼吸灯的纳秒级时序实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/5 12:54:07
【数据集】ZF创新补贴与非创新补贴数据(2003-2025年)

【数据集】ZF创新补贴与非创新补贴数据(2003-2025年)

数据简介:整理了A股上市公司的ZF补助微观样本,核心涵盖股票代码、公司简称、年份、创新补助总额及非创新补助总额五大关键变量,企业研发创新的专项补助与其他非创新类补助。参考郭玥(2018)《ZF创新补助的信号传递机制与…

📅 2026/10/5 12:54:07
MORE NEWS

更多资讯

📰

DirectX游戏截屏源码:绕过GDI抓取后台缓冲区实现

简介:这份资源面向使用 Visual C 进行游戏开发的程序员,针对 DirectX 硬件加速环境下常规截屏键失效的问题,提供一套可编译运行的截屏实现方案。当游戏通过 Direct3D 渲染并借助硬件覆盖层输出画面时,系统级截图工具往往只能抓到黑…

📰

基于SpringBoot2与Vue3的养老智慧服务平台设计与实践

1. 项目整体设计与技术选型思路先说说这个项目本身。养老智慧服务平台,核心要解决的是养老服务过程中的信息孤岛问题——老人的基本信息、健康档案、服务工单、家属沟通记录,这些数据以前分散在纸质台账和不同系统里,社区工作人员每天光整理信…

📰

Supacode自定义脚本完全教程: 为仓库配置自动化命令, Agent运行状态实时提醒

Supacode自定义脚本完全教程: 为仓库配置自动化命令, Agent运行状态实时提醒 【免费下载链接】supacode worktree coding agents command center. 项目地址: https://gitcode.com/gh_mirrors/su/supacode Supacode 是一款 macOS 原生的 worktree 编码 Agent 指挥中心&am…

📰

OpenShell 命令行框架实战:模块化、上下文与多环境管理

1. 从零认识 OpenShell:它到底解决什么问题第一次听到 OpenShell 这个名字,很多人会下意识以为它跟某个操作系统内核或者远程登录工具有关。实际上,OpenShell 是一个面向命令行环境的开源框架,核心目标只有一个:把散落…

📰

我用华为云码道 CodeArts 做了个「地球心跳」:33 项测试全绿,把实时地震跑成一颗会跳的星球

我用华为云码道 CodeArts 做了个「地球心跳」:33 项测试全绿,把实时地震跑成一颗会跳的星球 **一键开通华为云码道 CodeArts 代码智能体: **https://developer.huaweicloud.com/codeartsco.html?sourcedmzntgwatomgit1&sourceaddmzntgw…

📰

Markdown从入门到进阶:语法、工具链与转换工作流全指南

这次话题有点“老生常谈”,但正因为它老,我反而想把Markdown从头到尾彻底捋一遍。起因很简单:前阵子帮同事整理一套交付文档,发现连“换行”这种最基础的细节都能争论半天——有人按一次回车以为就是换行,有人把表格从…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬