创建一个类HugeInteger
,该类使用40个元素的数字数组来存储每个最大40位的整数。
Input()
,ToString()
,Add()
和Subtract()
。 HugeInteger
对象,请提供以下方法:IsEqualTo()
,IsNotEqualTo()
,IsGreaterThan()
,IsLessThan()
,IsGreaterThanOrEqualTo()
和{{1 }}。 每个方法都是一种方法,如果两个IsLessThanOrEqualTo()
对象之间的关系成立,则返回true;如果该关系不成立,则返回false。
HugeInteger
。 IsZero()
方法中,使用字符串方法Input()
将输入字符串转换为字符数组,然后遍历这些字符以创建您的ToCharArray()
。到目前为止,我已经创建了这个:
HugeInteger
但是我被困在如何添加这些 public const int HUGE_INTEGER_LIMIT = 40;
private int[] hiDigits = new int[HUGE_INTEGER_LIMIT];
private int hiLength;
private string hugeInteger;
private bool isPositive = true;
//constructor
public HugeInteger()
{
hiDigits = new int[HUGE_INTEGER_LIMIT];
isPositive = true;
}
public HugeInteger (int[] hi)
{
hiDigits = hi;
}
public void Input(string input)
{
hiDigits = input.Select(x => (int)char.GetNumericValue(x)).ToArray();
//char[] hiChars = input.ToCharArray();
}
public override string ToString()
{
string num = "";
foreach (int n in hiDigits)
{
num = num + n;
}
return num;
}
public HugeInteger Add(HugeInteger val)
{
var result = new HugeInteger();
for (int i = 0; i < HUGE_INTEGER_LIMIT; i++)
{
result.hiDigits[i] = 0;
result.hiDigits[i] += val.hiDigits[i];
}
return result;
}
数组中。
我看错了吗?