- 博客(1)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 大数(正整数)除法之多精除以单精
大数运算中会经常遇到多精除以单精的情况,有时也会把某些除法分解成多精除以单精加快运行速度,这里所说单精数是不超过cpu位长二分这一的数,32位机是65535,在此以千进制数为例讲解一下具体实现, For i = 1 To 被除数数组长度 运算结果(i) = 被除数(i) \ 单精数 被除数(i + 1) = (被除数(i) M...
2017-08-05 15:04:28 575
落叶高精度表达式计算器v1.0(内含VB运行库)
落叶高精度表达式计算器V1.0(32位)版
本计算器程序是在win7 32位系统上,使用VB6.0开发的,本程序的主要特点是:
1) 高精度,支持万位精度的有理数常用运算;
包括:加,减,乘,除,乘方,开N次方,三角函数,反三角函数,双曲三角函数,反双曲三角函数等。
2) 表达式运算,本程序没有采用常用计算器的边输入边计算,而是输入完所有数据或算式后,解析表达式,分解运算符和数据,最后在运算出结果。
点击程序界面上的等于按钮,计算器开始运算。
3) 本计算器的各种运算函数大都是自已所写,没有调用大数库或其它数学库,仅大数开平方调用GMP大数库。
本计算器的各种子函数是通过定义的一个高精度数据结构接收和返回运算结果,这个高精度数据结构可以定义有符号(整数,小数,科学计数法表示的数),
函数内部集中对数值,小数点位置,指数进行运算,优点是调用简单,不易出错,可以说比较完善,综合运算能力强。
这点和大数库的实现不同,
大数库大都只提供对整数的运算,假如要对有理数运算,
一:你需要很多的调用前和调用后处理工作,这些工作并不需要很高的知识,但却需要很长时间的调试,它并不会因为你的水平很高而获得很大的时间提升。
二:很难进行综合运算。当你把某一个函数调顺后,进行综合运算时,会出现很多新的问题。
高精度数据结构VB定义为:
Type StrToZx '高精度数的结构头
ZhFhBz As Boolean '正负号标志
XsdWz As Long '小数点右边数字的长度。例1234.567中这个数是3(为什么要这样定义,因为大多的基本运算都是右对齐的,这样定义减少了中间一些不必要的转换)
JzBz As Integer '标记数组存的是什么进制的数(十进制或其它进制数)
strlen As Long '运算数长度
Zx() As Long '存放运算数的数组
eE As Long '存放指数
End Type
4)综合运算,里面的三角函数,用户界面的算式,表达式运算,都是综合运算的体现,综合运算是大量基础运算的集合,中间稍有差错,就会算不出正确答案,里面内容繁琐,这里简单介绍一下。
5)本程序从2015年11月开始试编写,至2016年8月大致完成,开发周期很长,中间代码写了一两万行,从零基础到运行效率,综合效率的初中等水平,主要目的是练习编程,老外的数学软件已很强大,是我不可能相比的,我觉得我的程序如果把程序源码作为大数实例初级学习更合适。
6)程序中函数都具有输入值较验功能,若输入错误,会弹出提示窗口提示那一个函数输入错误。
7)由于本人是初次编程练习,且自身知识的不足,加上精力有限,最后的测试收尾也只是简单测试,里面肯定存在很大的不足和没发现的BUG,请网友们在论坛,或
我的邮箱:wtbzhy@126.com, 微博:qq_34030789,中指正,交流。
我若纠错后,会在下载网站更新,并根据您的地址发一份给您,谢谢!
再次欢迎大家使用本计算器,本计算器具有很好的表达式解析功能,会在以后的使用中获得很好的用户体验!
2016-12-26
落叶高精度表达式计算器v1.0
落叶高精度表达式计算器V1.0(32位)版
本计算器程序是在win7 32位系统上,使用VB6.0开发的,本程序的主要特点是:
1) 高精度,支持万位精度的有理数常用运算;
包括:加,减,乘,除,乘方,开N次方,三角函数,反三角函数,双曲三角函数,反双曲三角函数等。
2) 表达式运算,本程序没有采用常用计算器的边输入边计算,而是输入完所有数据或算式后,解析表达式,分解运算符和数据,最后在运算出结果。
点击程序界面上的等于按钮,计算器开始运算。
3) 本计算器的各种运算函数大都是自已所写,没有调用大数库或其它数学库,仅大数开平方调用GMP大数库。
本计算器的各种子函数是通过定义的一个高精度数据结构接收和返回运算结果,这个高精度数据结构可以定义有符号(整数,小数,科学计数法表示的数),
函数内部集中对数值,小数点位置,指数进行运算,优点是调用简单,不易出错,可以说比较完善,综合运算能力强。
这点和大数库的实现不同,
大数库大都只提供对整数的运算,假如要对有理数运算,
一:你需要很多的调用前和调用后处理工作,这些工作并不需要很高的知识,但却需要很长时间的调试,它并不会因为你的水平很高而获得很大的时间提升。
二:很难进行综合运算。当你把某一个函数调顺后,进行综合运算时,会出现很多新的问题。
高精度数据结构VB定义为:
Type StrToZx '高精度数的结构头
ZhFhBz As Boolean '正负号标志
XsdWz As Long '小数点右边数字的长度。例1234.567中这个数是3(为什么要这样定义,因为大多的基本运算都是右对齐的,这样定义减少了中间一些不必要的转换)
JzBz As Integer '标记数组存的是什么进制的数(十进制或其它进制数)
strlen As Long '运算数长度
Zx() As Long '存放运算数的数组
eE As Long '存放指数
End Type
4)综合运算,里面的三角函数,用户界面的算式,表达式运算,都是综合运算的体现,综合运算是大量基础运算的集合,中间稍有差错,就会算不出正确答案,里面内容繁琐,这里简单介绍一下。
5)本程序从2015年11月开始试编写,至2016年8月大致完成,开发周期很长,中间代码写了一两万行,从零基础到运行效率,综合效率的初中等水平,主要目的是练习编程,老外的数学软件已很强大,是我不可能相比的,我觉得我的程序如果把程序源码作为大数实例初级学习更合适。
6)程序中函数都具有输入值较验功能,若输入错误,会弹出提示窗口提示那一个函数输入错误。
7)由于本人是初次编程练习,且自身知识的不足,加上精力有限,最后的测试收尾也只是简单测试,里面肯定存在很大的不足和没发现的BUG,请网友们在论坛,或
我的邮箱:wtbzhy@126.com, 微博:qq_34030789,中指正,交流。
我若纠错后,会在下载网站更新,并根据您的地址发一份给您,谢谢!
再次欢迎大家使用本计算器,本计算器具有很好的表达式解析功能,会在以后的使用中获得很好的用户体验!
2016-12-25
MPFR库的log和sin函数的性能
2016-12-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人