doc文档 C语言中超大整数乘法运算

公文写作 > 公务员类 > 国家公务员 > 文档预览
8 页 1407 浏览 14 收藏 4.9分

摘要:C语言中超大整数乘法运算在计算机中,长整型(longint)变量的范围是-48至47,因此若用长整型变量做乘法运算,乘积最多不能超过10位数。即便用双精度型(double)变量,也仅能保证16位有效数字的精度。在某些需要更高精度的乘法运算的场合,需要用别的办法来实现乘法运算。比较容易想到的是做多位数乘法时列竖式进行计算的方法,只要写出模拟这一过程的程序,就能实现任意大整数的乘法运算。经过查阅资料,找到一种更易于编程的方法,即“列表法”。下面先介绍“列表法”:例如当计算8765x234时,把乘数与被乘数照如下列出,见表1:把表1中的数按图示斜线分组(横纵坐标和相等的数分为一组),把每组数的累加起来所得的和记在表格下方,见表2:从最低位的20开始,保留个位数字“0”,把个位以外的数“2”进到前一位;把次低位的39加上低位进上来的2得41,保留个位数字“1”,把“4”进到前一位;以此类推,直至最高位的16,16加上低位进上来的4得20,保留“0”,把2进到最高位,得乘积答数2051010。根据以上思路就可以编写C程序了,再经分析可得: 1、一个m位的整数与一个n位的整数相乘,乘积为m+n-1位或m+n位。2、程序中,用三个字符数组分别存储乘数、被乘数与乘积。由第1点分析知,存放乘积的字符数组的长度应不小于存放乘数与被乘数的两个数组的长度之和。3、可以把第二步“计算填表”与第三四步“累加进位”放在一起完成,可以节省存储表格2所需的空间。4、程序关键部分是两层循环,内层循环累计一组数的和,外层循环处理保留的数字与进位。编写的程序如下:#defineMAXLENGT

温馨提示:当前文档最多只能预览 5 页,若文档总页数超出了 5 页,请下载原文档以浏览全部内容。
本文档由 匿名用户2020-11-04 10:41:56上传分享
你可能在找
  • 课程设计——小学生四则运算姓名:学号:课号:得分(评语):基本要求:实验15.1,在上学期代码的基础上完善程序,菜单、加减乘除运算用函数实现,主程序中对函数进行调用。 (1)实现一个加减乘除运算的小型系统,进行整数的加、减、乘、除运算;(2)在每一种运算下,由系统随机产生两个数(数值大小在1~100之间)参加运算,当用户根据系统提供的公式进行计算,并输入计算结果后,系统判断结果的对错 (3)每次选择一种运算后,系统随机产生5或10道题目,当用户运算完毕后,系统给出正确率。如用户10题答对了6题,则显示正确率为60%。每道题目可以考虑最多给2次答题机会。
    4.7 分 9 页 | 81.59 KB
  • =0){ather;}cout<
    4.6 分 3 页 | 16.50 KB
  • C语言位运算符:与、或、异或、取反、左移和右移ᄃ语言位运算符:与、或、异或、取反、左移和右移位运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制位的问题。C语言提供了6个位操作运算符。 这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。 C语言提供的位运算符列表:运算符含义描述&按位与如果两个相应的二进制位都为1,则该位的结果值为1,否则为0|按位或两个相应的二进制位中只要有一个为1,该位的结果值为1^按位异或若参加运算的两个二进制位值相同则为
    3.0 分 8 页 | 24.50 KB
  • 4.7 分 21 页 | 3.33 MB
  • 四年级下册(数学早读内容)四则运算:1.在没有括号的算式里,如果只有加减法,要从左往右按顺序计算。2.在没有括号的算式里,如果只有乘除法,也要从左往右按顺序计算。 3.在没有括号的算式里,有乘、除法和加、减法,要先算乘、除法,再算加减法。4.算式里有括号,先算括号里面的,然后再按“先乘除,后加减”顺序进行计算。 5.加法、减法、乘法、除法统称为四则运算.6.一个数加上0,还得原数。7.一个数减去0,还得原数。8.一个数乘0,仍得0.加法乘法运算定律:1.两个加数交换位置,和不变,这叫做加法交换律。
    3.0 分 4 页 | 12.29 KB
  • C语言程序设计试题库题号【知识点所在章节:答案】题目壱、填空题(每章2题以上、每题2空):1.【1:符号语言高级语言】计算机语言的发展经历了机器语言、___________、和__________三个阶段 2.【1:编译连接】C语言程序开发的四个步骤是:编辑、______、_____、运行。3.【2:N-S流程图伪代码】为了表示一个算法,除了计算机程序外常用的方法有:自然语言、传统流程图、_4.5. 【3:1换行】在C语言中,字符类型的数据在内存中占_______个字节,转义字符“\n”的功能是____________。
    3.0 分 26 页 | 200.50 KB
  • 1、不属于C语言关键字的是__D___。A)intB)breakC)whileD)character2、下列字符序列中,不可用作C语言标识符的是B。 A)abc123B)no.1C)_123_D)_ok3、构成C语言源程序的基本单位是C。A)文件B)子程序C)函数D)过程4、在C语言中,要求运算数必须是整型的运算符是_B____。 A)字符AB)字符aC)字符cD)非法的常量6、已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量’\101’是___B__。
    3.0 分 17 页 | 104.50 KB
  • .专业.专注.有理数的乘法、除法、乘方练习一、有理数的乘法运算法则:(一)没有0因数相乘的情况下:1、由负因数的个数确定符号奇数(如1,3,5,)个负因数,积为“—”----��偶数(如2,4,6,)个负因数 a�b�ca�(b�c)(三)适用的运算律:��3. a�(bcd)a�ba�ca�d�(四)策略:在有理数的乘、除中,碰到小数就练习:1、(–4)×(–9)=2、(–4、(–12)×2.45×0×9×100,碰到带分数就21)×=583、(
    3.0 分 5 页 | 207.00 KB
  • C语言程序设计上机实验指导与习题(第二版)参考答案(仅供教师内部参考)实验1C语言程序初步一、实验目的(1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。 二、实验内容1.运行第一个C程序略2.在JudgeOnline系统中提交实现了计算a+b功能的程序略2实验2基本数据类型、运算和表达式一、实验目的(1)掌握C语言数据类型,熟悉如何定义一个整型和实型的变量 ,以及对它们赋值的方法。
    3.0 分 36 页 | 163.00 KB
  • C++被认为是一种中级语言,它综合了高级语言和低级语言的特点。C++是由BjarneStroustrup于1979年在新泽西州美利山贝尔实验室开始设计开发的。 C++进一步扩充和完善了C语言,最初命名为带类的C,后来在1983年更名为C++。C++是C的一个超集,事实上,任何合法的C程序都是合法的C++程序。 注意:使用静态类型的编程语言是在编译时执行类型检查,而不是在运行时执行类型检查。
    3.0 分 2 页 | 147.50 KB
本站APP下载(扫一扫)
活动:每周日APP免费下载全站文档
本站APP下载
热门文档