如何使整数“更大”? [关闭]
Posted
技术标签:
【中文标题】如何使整数“更大”? [关闭]【英文标题】:How do I make an integer 'bigger'? [closed] 【发布时间】:2014-06-16 06:21:09 【问题描述】:我是 C# 初学者,我正在使用 Windows 窗体中的计算器。
我遇到了一个问题,在界面中输入了 10 个或更多数字后,我得到了其中一个调试信息。它说的是系统溢出异常,但我不太明白。
谁能告诉我一个制作Int64
变量的简单方法?
【问题讨论】:
您想要一个 64 位整数?var i = 999999999999L;
或者你想要别的东西?
显示一些代码。我们可以向您展示如何修复您的代码。
Int64 或 long,或者真的只使用十进制
C# long
类型是 64 位整数。
请下次不要说“一些模糊”,而是复制消息并将其直接粘贴到帖子中。复制/粘贴不需要阅读能力,但它会使问题更具体。
【参考方案1】:
您可以使用来自Numerics
库的BigInteger
。
您需要添加System.Numerics
库。
请按照以下步骤添加它。
第 1 步: 右键单击您的项目 References
第 2 步: 单击 AddReference...
第 3 步: strong> 您需要从 FrameWork 类别中选择System.Numerics
您可以从代码中使用相同的库:
试试这个:
using System.Numerics;
BigInteger value = new BigInteger(99999999999999999999999999);
【讨论】:
虽然对于巨大的数字是正确的.. OP 只是想知道如何声明一个 64 位整数。 为什么不直接使用long
类型而不是bigint
+1。 @SimonWhitehead - “10 位或更多位”将很快耗尽 long
/System.Int64
类型(OP 显然已经知道),所以直接进入无限长度对于计算器来说看起来更好。
很公平。这些天我注意到在能够走路之前跑步是新事物:/【参考方案2】:
尝试使用BigInteger
数据类型而不是int
数据类型,这应该可以容纳一个非常大的数字。
【讨论】:
..bigint
类型驻留在哪个命名空间中? ...当然不是System
...
System.Numerics.BigInteger
-可以在.NET 4.0或link之后使用
我之所以指出你的错误是因为 OP 说“我是 C# 初学者”。说使用 bigint
可能会让他们感到困惑.. 鉴于 bigint
实际上不是 C# 中的类型.. 而 BigInteger
是。小错误.. 但对 OP 很重要。以上是关于如何使整数“更大”? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
C指针和数组:[警告]赋值使指针从整数而不进行强制转换[关闭]
我的python计算器无法正常工作,表示2个数字是字符串,我需要将它们设置为整数[关闭]
任何比 PetClinic 更大的开源 Spring 示例项目? [关闭]