2008-08-24 34 views
26

.NET có đi kèm với một lớp có khả năng biểu diễn các số nguyên cực lớn, chẳng hạn như 100 giai thừa? Nếu không, một số thư viện của bên thứ ba tốt để thực hiện điều này là gì?Làm thế nào tôi có thể biểu diễn một số nguyên rất lớn trong .NET?

+1

Thiếu một lớp bigint là một lớn đối với bạn? – Fowl

+9

Đó là một vấn đề lớn nếu bạn đang làm việc trên dự án Euler # 20 :-) – CMPalmer

Trả lời

17

NET 4 có một lớp BigInteger

Đại diện cho một số nguyên ký tùy tiện lớn.

Loại BigInteger là loại không thay đổi đại diện cho một số nguyên lớn tùy ý có giá trị trong lý thuyết không có giới hạn trên hoặc dưới. Kiểu này khác với các kiểu tích phân khác trong .NET Framework, có một phạm vi được chỉ định bởi các thuộc tính MinValue và MaxValue của chúng.

13

.NET có lớp BigInteger, nhưng thật không may là nội bộ. Tuy nhiên, một số nơi có riêng của họ. Bạn có thể lấy một thực hiện từ IronPython, hoặc một từ CodeProject, hoặc từ Visual J #. Tôi phải nói rằng, tôi đã không thử những bản thân mình, vì vậy tôi không biết cái nào là tốt nhất.

http://www.codeplex.com/IronPython http://www.codeproject.com/KB/cs/biginteger.aspx http://msdn.microsoft.com/en-us/magazine/cc163696.aspx

11

Microsoft.FSharp.Math.Types.BigInt

Nó có thể đại diện cho bất kỳ số nguyên.

Các vấn đề liên quan