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

mao5000 2003-12-12 11:48:48
比如我有两个300位的数字相乘,请问我的结果应该定义为什么类型呵?
备注:我要精确的结果
Double
Decimal
int
肯定不符合要求。。
...全文
127 13 打赏 收藏 举报
写回复
13 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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位从最终结果字符串向后数。
如果位数更多连乘数都不能表示的话,就要把上面的计算再细分为一个
一个字符,要再加一级循环了。
  • 打赏
  • 举报
回复
相关推荐
发帖
.NET社区
加入

6.0w+

社区成员

.NET技术交流专区
帖子事件
创建了帖子
2003-12-12 11:48
社区公告

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

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