像大家请教两个300位数字相乘的问题

mao5000 2003-12-12 11:48:48
比如我有两个300位的数字相乘,请问我的结果应该定义为什么类型呵?
备注:我要精确的结果
Double
Decimal
int
肯定不符合要求。。
...全文
166 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
yoobj 2003-12-19
  • 打赏
  • 举报
回复
楼主到底干什么用?说来听听
yezie 2003-12-19
  • 打赏
  • 举报
回复
搞宇宙的也不用这么大啊
zhengguoc 2003-12-12
  • 打赏
  • 举报
回复
可以用字符串型,再自己编程,按照手工计算的算法,即一位乘再偏移一位再加。这样的好处是与数字位数无关。就算1000位也可以。
supercdz 2003-12-12
  • 打赏
  • 举报
回复
int64
mao5000 2003-12-12
  • 打赏
  • 举报
回复
现在还没有到这种程度,我现在用的是
Decimal类型的,
不过已经有数据位已经有110位了,如果再想做乘法就不行了,
因为Decimal最多到128位。。。而我又要精确的结果。。。怎么办??
高迪安 2003-12-12
  • 打赏
  • 举报
回复
这两个300位的数字代表什么?? 相乘的结果又是会??
  • 打赏
  • 举报
回复
这么大的数字!要干什么???
wwl1981 2003-12-12
  • 打赏
  • 举报
回复
pfpf,应该是搞航天的。
l_clove 2003-12-12
  • 打赏
  • 举报
回复
定义数组用于存储没位数字,这是个算法问题,在高级程序员的教科书上有类似的例子。讲阶层的
liuvb 2003-12-12
  • 打赏
  • 举报
回复
平时不会遇到这样的问题吧?关注
CMIC 2003-12-12
  • 打赏
  • 举报
回复
gz
michaelowenii 2003-12-12
  • 打赏
  • 举报
回复
你不会是做“神五”的吧??
你可以试试,先把他们分开---变成短位数,然后在处理。
zhengguoc 2003-12-12
  • 打赏
  • 举报
回复
具体如下
1000000......0.9999 * 200..........000.22555时
将两个参数转换为字符串型
a = "1000000......0.9999"
b = "200..........000.22555"
string [] tmp;
for(int i=b.length;i>=0;i--)
{
tmp[i] = b[i] * a //先转换为数字型,计算后再转为字符串
}

再对tmp数组进行处理,移一位迭加.最后再将小数点加到字符串中,
具体位置由一开始取得,如例则为插入到第9位从最终结果字符串向后数。
如果位数更多连乘数都不能表示的话,就要把上面的计算再细分为一个
一个字符,要再加一级循环了。

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧