c# - सी#में जावा बिगडिसीमल कक्षा के बराबर क्या है?




java bigdecimal (4)

डेवेल मैथ

GitHub:

https://github.com/deveel/deveel-math

लेखक गितहब:

एंटोनेलो प्रोवेन्ज़ानो

समर्थन:

  • BigComplex
  • BigDecimal
  • BigMath
  • तर्कसंगत
  • ...

इसे कैसे स्थापित करें

NuGet पैकेज प्रबंधन कंसोल से, उस प्रोजेक्ट का चयन करें जहां लाइब्रेरी स्थापित की जाएगी और निम्न आदेश टाइप करें

PM> Install-Package dmath

BigDecimal java.math पैकेज में एक वर्ग है जिसमें एक निश्चित पैमाने की बड़ी संख्या को संभालने के लिए बहुत सारे लाभ हैं। इस सुविधा के साथ सी # में समकक्ष वर्ग या डेटा प्रकार है।


खैर, बिगडिसीमल (यदि वे मौजूद हैं) के समर्थन के साथ तीसरे पक्ष के पुस्तकालयों का उपयोग करने के अलावा, कोई आसान कामकाज नहीं है। सबसे आसान तरीका, जहां तक ​​मेरा संबंध है, दशमलव कार्यान्वयन (उदाहरण के लिए मोनो से) लेना और BigInteger प्रकार का उपयोग करके इसे फिर से लिखना है। आंतरिक रूप से, मोनो के कार्यान्वयन में, दशमलव प्रकार तीन पूर्णांक से बना होता है। इसलिए मुझे नहीं लगता कि इसे लागू करना मुश्किल होगा। हालांकि मैं दक्षता के बारे में निश्चित नहीं हूँ। हालांकि आपको पहले कोडेका के रूप में मानक दशमलव प्रकार का उपयोग करने पर विचार करना चाहिए।


यहां एक सी # लाइब्रेरी है जो आप खोज रहे हैं, और कुछ मामलों में अतिरिक्त कार्यक्षमता है: http://www.fractal-landscapes.co.uk/bigint.html (या इसे http://web.archive.org/web/20110721173046/http://www.fractal-landscapes.co.uk/bigint.html पर आज़माएं http://web.archive.org/web/20110721173046/http://www.fractal-landscapes.co.uk/bigint.html )।

उदाहरण के लिए, इसमें एक वर्ग रूट फ़ंक्शन है, जिसे बिगडिसीमल में नहीं है:

PrecisionSpec precision = new PrecisionSpec(1024, PrecisionSpec.BaseType.BIN);
BigFloat bf = new BigFloat(13, precision);
bf.Sqrt();
Console.WriteLine(bf.ToString());

विकिपीडिया में ऐसी अन्य पुस्तकालयों की एक सूची है http://en.wikipedia.org/wiki/Arbitrary-precision_arithmetic#Libraries पुस्तकालय


सी # में केवल BigInteger ने इसे बनाया है (.NET Framework 4 में)।

क्या आपके कार्य के लिए decimal पर्याप्त सटीकता है? यह एक 128-बिट संख्या है जो ± 1.0 × 10 -28 से ± 7.9 × 10 28 तक मान रख सकती है।





equivalent