.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?
Trả lời
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.
.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
Microsoft.FSharp.Math.Types.BigInt
Nó có thể đại diện cho bất kỳ số nguyên.
Mono có một BigInteger thi công đã:
http://www.go-mono.com/docs/index.aspx?link=T:Mono.Math.BigInteger
Bạn chỉ có thể lấy các lắp ráp Mono.Security để sử dụng nó; vì nó là một thư viện lớp Mono nên nó cũng được cấp phép MIT.
Dưới đây là một liên kết các tài liệu hướng dẫn của số nguyên lớn trong khuôn khổ 4,0
http://msdn.microsoft.com/en-us/library/system.numerics.biginteger(VS.100).aspx
- 1. Làm thế nào tôi có thể biểu diễn các khoảng nguyên trong Java?
- 2. Làm thế nào tôi có thể biểu diễn một số nguyên 128 bit trong Java hoặc C++?
- 3. Tính số nguyên rất lớn
- 4. Làm thế nào tôi có thể chuyển đổi một chuỗi lớn thành số nguyên trong java?
- 5. Làm thế nào tôi có thể biểu diễn thừa kế từ tham số mẫu trong UML?
- 6. Echo một số rất lớn
- 7. Nhân nhanh các số nguyên rất lớn
- 8. Biểu diễn nhị phân của một số thập phân .NET
- 9. Lưu trữ các số nguyên rất lớn trong MySQL
- 10. Làm thế nào tôi có thể đúc một số nguyên với một id trong iOS
- 11. Làm thế nào tôi có thể biểu diễn một ngắt (đối với vi điều khiển) trong một sơ đồ?
- 12. Làm thế nào tôi có thể chuyển đổi một chuỗi thành số nguyên trong lisp chung?
- 13. Tính số mũ rất lớn trong python
- 14. Làm thế nào tôi có thể chuyển đổi nhị phân rất lớn trong chuỗi thành Octal trong Java
- 15. Làm thế nào bạn có thể biểu diễn hằng số toán học "e" như một giá trị trong JavaScript?
- 16. Làm thế nào tôi có thể tạo một vùng trăn số lượng lớn của datetime
- 17. Làm thế nào tôi có thể lưu ma trận thưa thớt MATLAB rất lớn vào một tệp văn bản?
- 18. Loại số nào có thể biểu diễn trong dấu phẩy động nhị phân?
- 19. Làm thế nào một nút B-tree có thể được biểu diễn?
- 20. Làm thế nào để có được xung quanh hoặc làm cho json_decode PHP không thay đổi các giá trị số nguyên rất lớn của tôi?
- 21. Trong .net, biết số tuần làm thế nào tôi có thể nhận được ngày trong tuần?
- 22. RegEx: Làm thế nào tôi có thể khớp với tất cả các số lớn hơn 49?
- 23. Chuẩn cho sin có số lượng rất lớn
- 24. Làm thế nào tôi có thể gọi tái diễn nếu có điều kiện trong Clojure?
- 25. Làm thế nào tôi có thể chuyển đổi biểu thức Biểu mẫu Backus – Naur này thành một Regex (.Net)?
- 26. Làm thế nào tôi có thể làm cho diễn viên chung java này?
- 27. Làm thế nào tôi có thể trao đổi hai bit của số nguyên trong Java?
- 28. Làm thế nào tôi có thể sử dụng số nguyên chiều dài tùy ý trong Perl?
- 29. làm thế nào để loại Số nguyên trong một listview
- 30. Tôi làm cách nào để có được Loại chung từ một biểu diễn chuỗi?
Thiếu một lớp bigint là một lớn đối với bạn? – Fowl
Đó là một vấn đề lớn nếu bạn đang làm việc trên dự án Euler # 20 :-) – CMPalmer