आप यहाँ कई महत्वपूर्ण बातें याद आ रही हो रहे हैं:
- के बीच देशी गणित और bignum अंकगणित एक अंतर नहीं है।
- आपको बिग्नम अंकगणित में रुचि हो रही है।
- सी ++ bignum अंकगणित का समर्थन नहीं करता है। आदिम डेटाटाइप आमतौर पर देशी प्रोसेसर के लिए अंकगणित होते हैं।
बिग्नम (मनमाने ढंग से सटीक) अंकगणित प्राप्त करने के लिए, आपको इसे स्वयं लागू करने या पुस्तकालय का उपयोग करने की आवश्यकता है। (जैसे GMP) जावा के विपरीत, और सी # (दूसरों के बीच), सी ++ में मनमाने ढंग से सटीक अंकगणित के लिए लाइब्रेरी नहीं है।
उन फैंसी एल्गोरिदम के सभी:
- Karatsuba:
O(n^1.585)
- Toom-कुक:
< O(n^1.465)
- FFT आधारित:
~ O(n log(n))
ही लागू गणित जो लागू किया जाता है bignum लिए कर रहे हैं बिग्नम पुस्तकालयों में। प्रोसेसर अपने मूल अंकगणितीय परिचालनों के लिए क्या उपयोग करता है कुछ हद तक अप्रासंगिक है क्योंकि यह आमतौर पर निरंतर समय है।
किसी भी मामले में, मैं अनुशंसा नहीं करता कि आप एक बिग्नम लाइब्रेरी को लागू करने का प्रयास करें। मैंने इसे पहले किया है और यह काफी मांग है (विशेष रूप से गणित)। तो आप पुस्तकालय का उपयोग बंद कर रहे हैं।
जो भी चिप करता है, यह करता है। – bmargulies
शीर्षक ने मुझे पूर्णांक पुनरुत्पादन के बारे में सोचा :) – harold
@harold सबसे पहले उन्हें "डेटिंग" नामक कुछ करना होगा। – Manish