我尝试在Unity中使用BigInteger实现,但仍然会溢出(或者可能我使用方法不正确?我不确定)。它只能处理20个字符的整数,即64位……我的需求是:我有一个具有64个字符的十六进制数,为了进行算术计算,我希望首先将它转换为十进制形式并存储在变量中。
public BigInteger x = 0;
然后在它溢出的地方...... HexToDecimal是一个函数,它接受十六进制字符串并返回其十进制形式。
x = HexToDecimal(hex);
HexToDecimal的一个示例输出为
105627842363267744400190144423808258002852957479547731009248450467191077417570
这是我想要存储的数字的理想大小。 如果我使用很小的数字,比如几百千之类的数字,它可以正常工作。但是BitInteger限制只能有20个字符,因为我尝试声明一个变量像这样,只是为了知道BitInteger限制我的位置
public BigInteger x = 10000000000000000000
当我再添加一个“0”时,它会抛出一个错误,指出积分太大
BigInteger
并且如何溢出。 - Programmer