Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在unity上存储256位整数?_C#_Unity3d_Int - Fatal编程技术网

C# 如何在unity上存储256位整数?

C# 如何在unity上存储256位整数?,c#,unity3d,int,C#,Unity3d,Int,我尝试使用BigInteger实现Unity,但它仍然溢出(或者可能我使用了错误的方式?我也不确定,它只能执行20个字符的整数,就像64位一样)。。。。这就是我的工作原理,我有一个十六进制,有64个字符,然后我要做算术计算,我想先把它转换成十进制形式,并存储在变量中 然后在这里它溢出。。。HexToDecimal是一个接受十六进制字符串并返回其十进制形式的函数 x=十六进制(十六进制) HexToDecimal的示例输出为 105627842363267744001901444238082580

我尝试使用BigInteger实现Unity,但它仍然溢出(或者可能我使用了错误的方式?我也不确定,它只能执行20个字符的整数,就像64位一样)。。。。这就是我的工作原理,我有一个十六进制,有64个字符,然后我要做算术计算,我想先把它转换成十进制形式,并存储在变量中

然后在这里它溢出。。。HexToDecimal是一个接受十六进制字符串并返回其十进制形式的函数

x=十六进制(十六进制)

HexToDecimal的示例输出为

10562784236326774400190144423808258002852957479547731009248450467191077417570

这是我想要存储的数字的理想大小。 如果我使用非常小的数字,比如数十万或者其他什么,它就可以工作。但是BitInteger限制了它20个字符,因为我试图声明一个这样的变量,只是为了知道BitInteger限制了我的位置

public biginger x=100000000000000000


当我在那里添加另一个“0”时,它会抛出一个错误,指出整数太大

您实例化
biginger
的方式是a(请参阅“实例化biginger”--我似乎无法直接链接到它)。这意味着您实际上正在创建一个int32或int64,然后将其转换为一个BigInteger(因此它必须能够适应这些类型的有限大小)

要真正利用BigInteger的任意大小,您可能需要使用。此方法将为数字字符串返回一个BigInteger(它必须是当前系统区域性定义的数字字符串——除了一个可能的前导负符号外,没有其他内容)。此方法在统一中应该工作得很好,因为它是C#标准库的一部分

因此,对于您的
HexToDecimal
示例,假设它返回一个您喜欢使用的字符串

x = BigInteger.Parse(HexToDecimal(hex));

演示如何将它与
biginger
一起使用,以及它如何溢出我刚刚声明了一个具有bitineger类型的变量。像“公共比特客x”一样,编辑你的问题并添加它。还要说明为什么您认为它会溢出。您当前的代码未显示工作代码或溢出校对编辑:)
x = BigInteger.Parse(HexToDecimal(hex));