2009-07-06 15 views
8

एक वेब एप्लिकेशन के लिए मैं आकार में 64 बिट तक संख्याओं को संभालने में सक्षम होना चाहता हूं। परीक्षण के दौरान, मैंने पाया कि जावास्क्रिप्ट (या पूरी तरह से ब्राउज़र) 17 अंकों को संभालने लगता है। एक 64-बिट संख्या में अधिकतम 20 अंक हैं, लेकिन जावास्क्रिप्ट ने संख्या को संभालने के बाद, कम से कम महत्वपूर्ण 3 अंक गोल किए हैं और 0 पर सेट हैं .... कोई विचार जहां से यह आता है? अधिक महत्वपूर्ण बात यह है कि किसी भी विचार को इसके आसपास कैसे काम करना है?मैं फ़ायरफ़ॉक्स/आईई 7 में 17 अंकों से बड़ी संख्याओं को कैसे संभाल सकता हूं?

उत्तर

5

जावास्क्रिप्ट में पहुँच गए हैं की जरूरत है, सभी नंबरों को IEEE double precision चल बिन्दु संख्या, जिसका अर्थ है कि आप केवल परिशुद्धता के बारे में 16 अंक है कि कर रहे हैं; 64 बिट्स का शेष एक्सपोनेंट के लिए आरक्षित है। फैबियन नोट्स के रूप में, यदि आपको सभी 64 बिट्स की आवश्यकता है तो आपको अधिक सटीकता प्राप्त करने के लिए कुछ युक्तियां करने की आवश्यकता होगी।

5

मैं आप उन्हें स्ट्रिंग के रूप में इलाज के लिए अगर आप जावास्क्रिप्ट सीमा (see here)

0

आप उन्हें दो या दो से अधिक संख्याओं में विभाजित करने का प्रयास कर सकते हैं (शायद कक्षा में), लेकिन आपको उनके साथ काम करने के लिए कुछ अंकगणितीय सहायक कार्यों की आवश्यकता हो सकती है।

चीयर्स

2

दूसरों के रूप में ध्यान दें, जे एस युगल को लागू करता है, तो आप बड़ी संख्या को संभालने के लिए कहीं और देखने करना होगा। BigInt पूर्णांक के लिए आर्बिटरी सटीक गणित के लिए एक पुस्तकालय है।

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