【发布时间】:2013-09-27 14:43:47
【问题描述】:
首先让我说我是一个新手,对 C# 的知识知之甚少。
进入主题:我需要制作一个能够加/减非常大整数的程序。最初,使用 BigInt 只是为了发现它是不允许的。应该有一个合乎逻辑的解决方法吗?我有一个想法,它使用“小学方法”,您从右到左添加每个数字。
我创建了一个字符串,将其拆分为 char 数组并从右到左添加每个数字(GetUpperBound-i)。但这似乎不起作用。
我的代码:
string s, s2;
char[] c_arr, c_arr2;
int i, erg;
s = "1234";
s2 = "5678";
c_arr = s.ToCharArray();
c_arr2 = s2.ToCharArray();
for (i = 0; i <= c_arr.GetUpperBound(0); i++)
{
erg = c_arr[c_arr.GetUpperBound(0)-i]+c_arr2[c_arr2.GetUpperBound(0)-i];
Console.Write(erg);
}
Console.ReadKey();
【问题讨论】:
-
但它似乎不起作用。你应该指定。
-
各位数字之和超过9的情况你不需要处理吗?您需要将 1 带到下一列。
-
将每个数组中的两个字符相加也不会达到您的预期。对于前两个,4 和 8,它将“4”转换为 52,将“8”转换为 56,因为这些是 char 表示。您需要将每个单独的字符转换为其整数值并对其进行求和。
-
Matt 好吧,我只是想先搞清楚基本结构。