高精度
时间:2022-01-24
本文章向大家介绍高精度,主要包括高精度使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一般数字超过10^18就得要用高精度了,用数组存大数的每一位,然后模拟加减乘除运算的过程。不过要注意前导零
高精度加法:
模板题:Luogu A+B Problem(高精)
题目描述
高精度加法,相当于a+b problem,不用考虑负数.
输入格式
分两行输入。a,b <= 10^500
输出格式
输出只有一行,代表a+b的值
代码及注释:
#include <iostream>
#include <cstring>
using namespace std;
const int N = 510;
int a[N], b[N], c[N];
char A[N], B[N];
int main()
{
scanf("%s%s", A, B);
int len1 = strlen(A), len2 = strlen(B), len3 = max(len1, len2) + 1; // len3 是结果的最大长度 因为可能两数相加不进位 所以以防万一 要+1
for(int i = 0; i < len1; i++) a[len1 - i] = A[i] - '0'; // 倒着存
for(int i = 0; i < len2; i++) b[len2 - i] = B[i] - '0';
for(int i = 1; i <= len3; i++)
{
c[i] += a[i] + b[i];
c[i+1] = c[i] / 10; // 进位到下一位
c[i] = c[i] % 10;
}
if(c[len3] == 0 && len3 > 1) len3--; // 消除前导0 加法的话 只可能出现一个前导0 因为如果不进位的话 就只有一个位置是空的
for(int i = len3; i > 0; i--) cout << c[i]; // 倒着输出
return 0;
}
不要羡慕别人喝的饮料有各种颜色,其实未必有你的白开水解渴,
原文地址:https://www.cnblogs.com/MoonSkyy/p/15840825.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Tomcat的使用及服务器的一些基础知识
- fastJson 之JSONObject.toJavaObject()方法不能解析嵌套自定义list对象
- 文件包含漏洞学习总结(结尾有实例)
- 树莓派基础实验17:温度传感器实验
- Java Servlet详解(体系结构+注解配置+生命周期)
- RabbitMq如何确保消息不丢失
- 《sql必知必会》——读书笔记(4)
- AkShare-债券数据-国债期货可交割券相关指标
- Linux From Scratch
- 介绍一款 API 敏捷开发工具
- java线程池(五):ForkJoinPool源码分析之一(外部提交及worker执行过程)
- JavaScript中的匿名函数、闭包和BOM
- 【Vue.js】Vue.js中的事件处理、过滤器、过渡和动画、组件的生命周期及组件之间的通信
- 树莓派基础实验18:声音传感器实验
- 树莓派基础实验19:光敏传感器实验