用c++写一个高精度计算的乘法运算
这段代码是一个用C++编写的程序,它实现了两个大整数的乘法运算。
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;int main(){char a1[101]="222",b1[101]="2";int a[101],b[101],c[10001],lena,lenb,lenc,i,j,x;memset(a,0,sizeof(a));memset(b,0,sizeof(b));memset(c,0,sizeof(c));lena=strlen(a1);lenb= strlen(b1);for(i=0;i<lena;i++){a[lena-i]=a1[i]-48;}for(i=0;i<lenb;i++){b[lenb-i]=b1[i]-48;}for(i=1;i<=lena;i++){x=0;//用于存放进位for(j=1;j<=lenb;j++){//对乘数的每一位进行处理c[i+j-1]=a[i]*b[j]+x+c[i+j-1];//当前乘积+上次乘积进位+原数x=c[i+j-1]/10;c[i+j-1]%=10;}c[i+lenb]=x;}lenc=lena+lenb;while(c[lenc]==0 && lenc>1){lenc--;}for(i=lenc;i>=1;i--){cout<<c[i];}cout<<endl;
}
虽然它相对简短,但其中包含了一些较为复杂的编程概念和难点:
-
大整数的表示:代码涉及的主要难点是如何处理和表示大整数,因为大整数通常会超出内置整数类型的范围。在代码中,大整数被表示为字符数组
a1和b1,而在执行乘法运算时,它们被分解为整数数组a和b,这需要理解如何将字符数字转换为整数表示。 -
逐位运算:乘法运算通常需要逐位执行,这意味着对每一位数字执行乘法,然后将结果相加。这需要理解如何在循环中逐位处理数组,同时注意进位的问题。
-
进位处理:在乘法运算中,每一位的乘法结果都可能产生进位,需要正确地处理进位。代码中使用了变量
x来存储进位,然后更新每一位的结果并将进位传递到下一位。 -
数组长度管理:代码中使用
lena和lenb分别表示两个乘数的长度,以及lenc表示结果的长度。正确管理数组的长度很重要,以确保结果不会溢出或包含不必要的零。 -
结果的输出:代码在计算结束后,需要正确输出结果。这包括去除高位的零并逆序输出结果。
相关文章:
用c++写一个高精度计算的乘法运算
这段代码是一个用C编写的程序,它实现了两个大整数的乘法运算。 #include<iostream> #include<cstdio> #include<cstring> using namespace std;int main(){char a1[101]"222",b1[101]"2";int a[101],b[101],c[10001],lena,l…...
UE5 ChaosVehicles载具 实现大漂移 (连载四)
载具设置成前驱模式 前轮摩擦力倍增x5 后轮摩擦力倍增x0.5...
基于Arrow的轻量线程池
基于Arrow的轻量线程池 大家好,我是光城,最近花了几周业余时间,开发出这款轻量线程池,代码也全部开源啦,欢迎大家star。 本线程池的设计与实现会有涉及非常多的知识,这些内容也都会以视频的方式分享在知识星…...
泛微OA E-Office V10 OfficeServer 任意文件上传漏洞复现
声明 本文仅用于技术交流,请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。 漏洞简介 泛微e-ofice是一款标准化的协同0A办公软件,泛微 …...
spring-cloud-starter-gateway踩坑
1.bean of type org.springframework.http.codec.ServerCodecConfigurer that could not be found. 需要将项目中用到的spring-boot-starter-web依赖给去掉 去掉以下的 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-bo…...
视频SDK开发,多平台SDK快速接入
随着科技的不断发展,视频已经成为了企业业务中不可或缺的一部分。无论是在线教育、企业培训还是产品展示,视频都发挥着至关重要的作用。为了满足企业对视频应用的需求,美摄视频SDK应运而生,为企业提供了一站式的视频解决方案。 一…...
面试官:如何理解CDN?说说实现原理?
一、是什么 CDN (全称 Content Delivery Network),即内容分发网络 构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降…...
C语言 牛客网习题 10.20 day2
1.求最小公倍数 正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。 1≤a, b≤100000 输入描述: 输入两个正整数A和B。 输出描述: 输出A和B的最小公倍数。 #include <st…...
SpringCloud: sentinel热点参数限制
一、定义controller package cn.edu.tju.controller;import com.alibaba.csp.sentinel.annotation.SentinelResource; import com.alibaba.csp.sentinel.slots.block.BlockException; import org.springframework.web.bind.annotation.PathVariable; import org.springframewo…...
PDF编辑阅读 PDF Expert v3.5.2
PDF Expert是由Readdle开发的一款专业的PDF编辑和阅读工具。它可以帮助用户在Mac、iPad和iPhone等设备上查看、注释、编辑、填写和签署PDF文档。 以下是PDF Expert的特点: PDF编辑:PDF Expert提供了丰富的PDF编辑功能,包括添加、删除、移动…...
新技术:WEB组态能页面嵌套、属性继承吗?
目前市面上的工业组态或数据大屏工具有不少,也有很多0代码、无代码、低代码、零代码、低代码概念。 有没有可以支持图纸嵌套、属性暴露的?或者说页面任意嵌套、属性多继承暴露到上层? 比如页面A有输入框,页面B有对话框ÿ…...
【C++ Primer Plus学习记录】复习题
1.如何声明下述数据? a.actor是由30个char组成的数组。 char actor[30]; b.betsie是由100个short组成的数组。 short betsie[100]; c.chuck是由13个float组成的数组。 flaot chuck[13]; d.dipsea是由64个long double组成的数组。 long double dipsea[64]; …...
【LeetCode】62. 不同路径
1 问题 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径?…...
【lesson13】进程地址空间收尾
文章目录 进程地址空间存在的原因原因一原因二原因三 重新理解什么是挂起? 进程地址空间存在的原因 原因一 凡是非法访问或者映射,OS都会识别到,并终止该进程。 例子: 我们会发现我们定义的字符串常量只有只读权限,…...
Microsoft Edge中使用开源的ChatGPT
一、双击打开浏览器 找到:扩展,打开 二、打开Microsoft Edge加载项 三、Move tab新标签 获取免费ChatGPT 四、启用Move tab。启用ChatGPT。 扩展 管理扩展 启用 五、新建标签页,使用GPT 六、使用举例 提问 GPT回复...
【C语言精髓之指针】结构体指针(->与.两个运算符的区别)
/*** file * author jUicE_g2R(qq:3406291309)————彬(bin-必应)* 通信与信息专业大二在读 * copyright 2023.10* COPYRIGHT 原创技术笔记:转载需获得博主本人同意,且需标明转载源* language C/C* IDE Base on Mic…...
SpringCloud 微服务全栈体系(一)
第一章 认识微服务 随着互联网行业的发展,对服务的要求也越来越高,服务架构也从单体架构逐渐演变为现在流行的微服务架构。这些架构之间有怎样的差别呢? 一、单体架构 单体架构:将业务的所有功能集中在一个项目中开发ÿ…...
Echarts自定义柱状图
目录 效果图 echarts官网找相似图 将柱状图引入html页面中 自定义柱状图 将不需要的属性删除 编辑 修改图形大小 grid 不显示x轴 编辑 不显示y轴线和相关刻度 编辑 y轴文字的颜色设置为自己想要的颜色 修改第一组柱子相关样式(条状) …...
LuatOS-SOC接口文档(air780E)-- ioqueue - io序列操作
ioqueue.init(hwtimer_id,cmd_cnt,repeat_cnt) 初始化一个io操作队列 参数 传入值类型 解释 int 硬件定时器id,默认用0,根据实际MCU确定,air105为0~5,与pwm共用,同一个通道号不能同时为pwm和ioqueue int 一个完…...
探讨Socks5代理技术的原理及其在不同领域的应用
Socks5代理:实现网络连接的智能之选 作为一种网络代理协议,Socks5代理技术通过转发网络数据包,实现了客户端和服务器之间的代理传输。其独特的特性在跨界电商、爬虫数据分析、企业出海和游戏体验等领域发挥着关键作用,为用户提供…...
3分钟学会:LinkSwift网盘直链下载助手终极使用教程
3分钟学会:LinkSwift网盘直链下载助手终极使用教程 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘…...
CefFlashBrowser技术架构深度解密:Flash浏览器的实现原理与技术突破
CefFlashBrowser技术架构深度解密:Flash浏览器的实现原理与技术突破 【免费下载链接】CefFlashBrowser Flash浏览器 / Flash Browser 项目地址: https://gitcode.com/gh_mirrors/ce/CefFlashBrowser Flash技术的消亡在数字世界中留下了一个技术真空ÿ…...
SCons构建MDK工程翻车实录:从‘No module named building’到完美运行的踩坑全指南
SCons构建MDK工程实战:从报错排查到工程定制的完整指南 第一次接触SCons构建MDK工程时,那种从满屏红色报错到最终看到"Build Complete"的成就感,至今记忆犹新。作为替代传统IDE手动配置的自动化方案,SCons确实能显著提升…...
nli-MiniLM2-L6-H768快速上手:金融研报摘要主题分类(科技/宏观/行业)
nli-MiniLM2-L6-H768快速上手:金融研报摘要主题分类(科技/宏观/行业) 1. 工具简介 nli-MiniLM2-L6-H768是一款基于cross-encoder/nli-MiniLM2-L6-H768轻量级NLI模型开发的本地零样本文本分类工具。它专为解决传统文本分类需要大量标注数据和…...
Hyperf 成熟方案的PHP数据清洗、ETL工具链最好的库
Hyperf 本身没有专门的"开箱即用 ETL"官方组件,但有几个成熟方案可以组合使用: rt — …...
WeAct CAN485开发板:工业物联网的多协议通信解决方案
1. WeAct CAN485开发板深度解析作为一名长期从事工业物联网开发的工程师,我最近测试了WeAct Studio推出的CAN485开发板。这款售价仅9.28美元的小板子让我印象深刻——它完美平衡了成本与功能,特别适合需要CAN总线和RS485通信的嵌入式项目。1.1 核心硬件配…...
Web 品质样式表:构建高效、美观的网页设计指南
Web 品质样式表:构建高效、美观的网页设计指南 引言 在互联网时代,网页设计已经成为展示企业品牌形象、提供优质用户体验的重要途径。而Web品质样式表(CSS)作为网页设计中的核心组成部分,对于提升网页的整体质量和用户体验至关重要。本文将深入探讨Web品质样式表的重要性…...
ClamAV扫U盘太慢?教你3个高级参数和正则排除法,让Ubuntu病毒扫描效率翻倍
ClamAV扫描效率优化实战:3个高级参数与正则排除法深度解析 每次插入U盘后等待ClamAV慢悠悠地完成全盘扫描,看着进度条像蜗牛爬行一样前进,是不是让你抓狂?作为Linux系统管理员,我经历过太多这样的煎熬时刻。直到发现那…...
如何在Home Assistant中实现美的智能家电的本地网络控制:3步完成终极本地化方案
如何在Home Assistant中实现美的智能家电的本地网络控制:3步完成终极本地化方案 【免费下载链接】homeassistant-midea-air-appliances-lan This Home Assistant custom component adding support for controlling Midea air conditioners and dehumidifiers on loc…...
Kill-Doc:一键自动化文档下载工具,告别繁琐下载限制
Kill-Doc:一键自动化文档下载工具,告别繁琐下载限制 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本…...
