- 9
- 0
- 约3.81千字
- 约 24页
- 2016-11-29 发布于重庆
- 举报
C语言_超大数四则运算
超大数的四则运算 各类型的范围 int (16位) -32768~32767 (注:现在大多数的编译器的int型是32位的 也就是说跟long型的大小一样) long long或__int64(64位) -9223372036854775808~9223372036854775807 float(32位) 精确到小数点后6~7位 double (64位) 精确到小数点后15~16位 (注:平时做题时 都把浮点型数据定义为double型 避免精度不够出错) 请计算: 1、 2 的 1000次幂 2、 2 的 10000次幂 3、 123456789012345678912345678903453434534534535345434543 乘上 93874293874928734928734028034820938479288374892733453453534 主要内容 数字存储的实现 1 加法运算的实现 2 减法运算的实现 3 乘法运算的实现 4 除法运算的实现 5 幂运算的实现 6 数字存储的实现 大数计算的因数和结果精度一般是少则数十位,多则几万位。在C/C++语言中定义的类型中精度最多只有二十多位。一般我们称这种基本数据类型无法表示的整数为大整数。如何表示和存放大整数呢?基本的思想就是:用数组存放和表示大整数。一个数组元素,存放大整数中的一位。 比如:1664434318 0 1 2 3 4 5 6 7 8 9 1 6 6 4 4 3 4 3 1 8 下标 加法运算的实现 9 9 8 7 6 5 4 3 2 0 1 6 6 4 4 3 4 3 0 0 加数 被加数 + 初始化进位为0,各对应位相加后再加上进位数 1、进位为1 0 2、进位为1 6 3、进位为1 5 4、进位为1 2 由低位向高位相加计算,直至所有运算结束 理中注意问题: 判断最后数组的长度. 去掉前导零 大数加法 void Add(char s1[],char s2[])//参数为两个字符串数组 { int num1[M],num2[M]; int i,j; len1 = strlen (s1); len2 = strlen (s2); for (i = len1-1,j = 0; i = 0; i --)//num1[0]保存的是低位 num1[j++] = s1[i] - 0; for (i = len2-1,j = 0; i = 0; i --) num2[j++] = s2[i] - 0; for (i = 0; i M; i ++) { num1[i] += num2[i]; if (num1[i] 9) { num1[i] -= 10; num1[i+1] ++; } } for (i = M-1; (i = 0)(num1[i] == 0); i --) ;//找到第一个不是 0的数的位置 if (i = 0) //从高位到低位输出每个数 for (; i = 0; i --) printf (%d,num1[i]); else printf (0\n); } 减法运算的实现 算法也是从低位开始减。先要判断减数和被减数那一个位数长,减数位数长是正常减;被减数位数长,则被减数减减数,最后还要加上负号;两数位数长度相等时,最好比那一个数字大,否则负号处理会很繁琐;处理每一项时要,如果前一位相减有借位,就先减去上一位的借位,无则不减,再去判断是否能够减开被减数,如果减不开,就要借位后再去减,同时置借位为1,否则置借位为0。 减法运算的实现 7 6 8 7 6 5 4 3 2 0 8 9 7 5 4 3 4 3 2 0 减数 被减数 - 初始化借位为0,各对应位相减后再减上借位数 1、借位为1 9 2、借位为1 6 3、借位为0 0 4、借位为0 2 由低位向高位相加计算,直至所有运算结束 处理中注意问题: 1 如果被减数大于减数时,交换两个数再相减,最后加个“-”号即可 2 结果可能会出现前面是一堆0的情况,要处理好,如当减数为112,而被减数为111时,会出现001 乘法运算的实现 首先说一下乘法计算的算法,从低位向高位乘,在竖式计算中,我们是将乘数第一位与被乘数的每一位相乘,记录结果,之后,用第二位相乘,记录结果并且左移一位,以此类推,直到
您可能关注的文档
- 政治经济学A卷参考答案.doc
- 政治经济学小组学习意见小结.doc
- 政治经济学概论讲课提纲.docx
- Chapter3线性方程组的解法(下)-ZTY.pptx
- Chapter3线性方程组的解法(上)-109P-ZTY.pptx
- 政治经济学选择题练习.doc
- 政治经济学选择题和计算题汇总.doc
- 政治试题卷与答案.doc
- 政治经济学题库选择填空判断.docx
- 政策分析中国非物质文化遗产保护政策.doc
- 2026年及未来5年市场数据中国农业批发行业竞争格局分析及投资规划研究报告.docx
- 2026年及未来5年市场数据中国喷浆机行业发展前景及投资战略预测咨询报告.docx
- 2026年及未来5年市场数据中国喷墨打印机行业深度调研与投资前景评估报告.docx
- 2026年及未来5年市场数据中国喷砂机市场发展战略及投资前景预测咨询报告.docx
- 2026年及未来5年市场数据中国平版凹版组合印刷机市场深度调研及投资战略咨询报告.docx
- 2026年及未来5年市场数据中国气泡膜纸箱市场运行格局及投资战略研究可行性报告.docx
- 2026年及未来5年市场数据中国牛仔裤市场运行格局及投资战略研究报告.docx
- 2026年及未来5年市场数据中国牛仔服装市场运行格局及投资战略研究报告.docx
- 2026年及未来5年市场数据中国牛仔童装市场运行态势及投资战略咨询研究.docx
- 2026年及未来5年市场数据中国啤酒产业发展态势及十五五投资动向研究报告.docx
最近下载
- 2025-2026学年湘美版(新教材)小学美术三年级下册(全册)教学设计(附目录P128).docx
- 生活饮用水中总α 总β放射性 方法验证.doc VIP
- 第八节 输尿管损伤护理常规.pptx
- 新版FMEA表单模板(DFMEA和PFMEA)案例.xlsx VIP
- 肺部肿瘤PPT课件.pptx VIP
- 普通高中英语课程标准(2017年版-2020年修订)词汇表.docx VIP
- 死亡否认=THE DENIAL OF DEATH_13854410.pdf
- 英威腾(INVT)Goodrive10系列迷你型变频器中文产品说明书.pdf
- 水利工程设计概(估)算编制规定【水总[2014]429号】.pdf VIP
- ISO 14001-2026《环境管理体系 要求和使用指南》内容变化及应对措施(雷泽佳编制-2026A0).pdf VIP
原创力文档

文档评论(0)