高精度整数除法

原创 2004年09月16日 21:25:00

Private Sub Command1_Click()
Devide 123456789, 987654321, 2000
End Sub

Sub Devide(ByVal X As Long, ByVal Y As Long, Optional ByVal Numdigitsafterdecimal As Integer = 100, Optional ByRef result As String) 'x/y取小数点后Numdigitsafterdecimal 位(默认100)
Dim a() As String, temp As Double, temp2 As Long, i As Integer
ReDim a(Numdigitsafterdecimal)
a(0) = X & "÷" & Y & "=" & Int(X / Y) & "."
temp = X - (X / Y) * Y
For i = 1 To Numdigitsafterdecimal
temp = temp * 10
temp2 = Int(temp / Y)
a(i) = Right(temp2, 1)
temp = temp - Int(temp / Y) * Y
Next
result = Join(a, "")
Debug.Print result
End Sub

返回:

123456789÷987654321=0.1249999988609375000142382812498220214843772247314452846908569339413642883257329463959283381700508957728743638028390704524645116193441936047581975799405225302507434683718657066453516786669331040166633361997917082975026036462812174544214847818197314402272533569971593330375355083370308061457871149231776610634602792367067465095411656686307354291421158071357235524108034555948649568050641880399366976495007912793812401090077344986374033187670324585154120942685573488216430331397294620857533817239280827284508989658943637629263204529634209943379572375707755345303653058183704336772703695790341203802620734952467240813094159489836323006377045962420286925469746413431628169832104647877098691901536266351230796670609615041617379811979782752350252715595621841055054726986811815912664852301091689346236353883172045576460349430294245632121321929598483475880018956551499763043106252961961171837975485352025306433099683669586253954130171825573372852180332839347745839508153177006148085287423148933907210638326159
8670209230016622384624792220192190097247597623784405029702694937128716313285891046083926361923950920475950613494050617331324367283358445408958019432388024757095149690536310628868296117139146298535760671268302991609146212604885672342438929095719513386303506082671206173966609922825417375964682282800441471464994481606687568979916405387751044932653111938341836100770727048740365911890745426101365682173732928972828338387839645770152004427873099944651586250691855171866351810351670602370604117470367448531620406893354744913833065688577086678892786416513840169793576997877580287526530246405918371919926020351000924745612488440679843894491501951318856225608514297179893571285251330358934358370513320520368583493495392706331307591170858655110364266811120446664860994416689237569791384530377607693370279903832871501202089106234973886172062826422849214669714384816628570189792142872627598214092155022323848062220951899222238101259722023734253474703321831566208477105422394036182220074547722249068153471886648

 

高精度计算-大整数除法

问题描述求两个大的正整数相除的商 输入数据 第 1 行是测试数据的组数 n,每组测试数据占 2 行,第 1 行是被除数,第 2 行是除数。 每组测试数据之间有一个空行,每行数据不超过 100 个...
  • zwhlxl
  • zwhlxl
  • 2015年05月05日 10:41
  • 1924

大数除法(高精度除法)解题日记 (c++源代码)

date:20100612一开始用模拟除法写了一个,用到了加法,减法,乘法,本来还打算用二分法进行优化的,可惜程序一直没有调试对。我暂时解决不了。今天用除法当减法来算。。写了一个程序。。两个数相近。。...
  • luishen
  • luishen
  • 2010年06月12日 21:06
  • 20624

C语言 高精度除法

#include #include int len1,len2; char s1[905],s2[905]; int re[905]; void sub() {...
  • u014571355
  • u014571355
  • 2014年05月02日 14:43
  • 1975

高精度之高精度除法(高精除以高精)

好像NOIP并不会用到,但是作为强迫症的我还是坚持学了。高精度除以高精度我所知道的有两个思路:...
  • S_Wiper
  • S_Wiper
  • 2017年05月30日 16:09
  • 1732

(浮点数及整数)高精度乘除法

思想 高精度计算的核心思想很简单,就是模拟我们笔算的过程,因此,关键在于如何准确地模拟笔算基础代码 因为高精度乘除法中会用到高精度加减法和比较大小函数,所以就先把加减和比较函数贴出来咯int co...
  • qq_30172585
  • qq_30172585
  • 2015年12月27日 14:22
  • 1075

整数大数模拟 高精度加法 高精度减法 高精度乘法 高精度除法 c/c++ java

整数大数模拟 高精度加法 高精度减法 高精度乘法 高精度除法 c/c++ java 大数加法 大数减法 大数除法 大数乘法...
  • qq_21899803
  • qq_21899803
  • 2016年05月04日 15:09
  • 800

C++实现大数除法

题外话 大数除法无疑是大数操作里最麻烦的一项,写大数不实现除法无异于画龙无鳞。 思路 最原始的,脑子最容易冒出来的思路,是一下一下的减,看能累计减多少次,最后的总次数就是结果,但这样的效率实在...
  • to_be_better
  • to_be_better
  • 2015年12月25日 16:09
  • 2875

高精度除法(大数相除)

高精度除法(高除高)#include #include #include #include #include using namespace std; int a[101],b[101],c[101]...
  • zhhe0101
  • zhhe0101
  • 2016年05月10日 19:54
  • 1747

(C语言)高精度除法

题目描述 高精度除法:给定一个很大很大的数字,用它来除以一个 int 或 long 范围内的整数。  输入 输入包括多组测试数据。 对每组测试数据,在一行中给出一个整数N(0 ...
  • YiMo_Fan
  • YiMo_Fan
  • 2017年04月22日 21:54
  • 574

高精度除法分析及代码

算法分析    高精度除法, 这个和加减乘一样,我们都要从手算的角度入手。举一个例子,比如 524134 除以 123。结果是4261  第一位4的来源是 我们把 524和123对齐,然后进行循环...
  • u014542643
  • u014542643
  • 2017年04月13日 16:30
  • 290
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:高精度整数除法
举报原因:
原因补充:

(最多只允许输入30个字)