如何使整数“更大”? [关闭]

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 示例项目? [关闭]

Android,如何使应用程序的任务不可关闭?只能通过任务杀死关闭

DELPHI中如何使窗体的关闭按钮失效