2012-05-18 15 views
13

मैं BigDecimal Class पढ़ रहा था लेकिन मुझे कोई जानकारी नहीं मिली कि BigDecimal कक्षा मेमोरी कंप्यूटर मेमोरी में मूल्यों को कैसे स्टोर करता है।बिगडिसीमल कैसे कार्यान्वित किया जाता है?

क्या आप कोई विश्वसनीय स्रोत जानते हैं जो इस जानकारी को प्रदान कर सकता है?

+9

जावा खुला स्रोत है। मैं बस अपने [स्रोत कोड] (http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/7-b147/java/math/BigDecimal.java/) में देखना शुरू कर दूंगा । – BalusC

+2

ठीक है, लेकिन जावा में यह अच्छा नहीं है कि यह स्रोत कोड से कैसे काम करता है। –

+2

स्रोत को पढ़ना जावा पर बेहतर होने का एक तरीका है। – trashgod

उत्तर

5

संख्याओं के महत्वपूर्ण अंक लंबे समय तक संग्रहीत किए जाते हैं यदि अंकों की संख्या लंबे समय तक फिट होने के लिए पर्याप्त है, अन्यथा वे BigInteger में संग्रहीत हैं। इसके अलावा, बिगडिसीमल में scale and precision का प्रतिनिधित्व करने के लिए int primitives है, जो दशमलव बिंदु के दाएं महत्वपूर्ण अंकों की संख्या इंगित करता है, और सटीक संख्या में कुल अंकों की संख्या दर्शाता है।

14

BigDecimal का अनसुलझा मूल्य BigInteger में संग्रहीत है। 32 बिट पूर्णांकों का एक big-endian सरणी, और एक अन्य 32-बिट पूर्णांक के रूप में अलग से संकेत के रूप में

BigInteger intVal 
int scale 
int precision 

BigInteger भंडार पूर्णांक: precision and scale पूर्णांक क्षेत्रों में अलग से जमा हो जाती है।

int signum 
int[] mag 

लेकिन जैसे Muhd ​​कहते हैं, यदि संख्या एक 64 बिट पूर्णांक में फिट कर सकते हैं, तो यह एक BigInteger के बजाय प्रयोग किया जाता है।

संबंधित मुद्दे