दिलचस्प पोस्ट
जावास्क्रिप्ट में सरणी में html तालिका को कनवर्ट करें एंड्रॉइड: setImeActionLabel का उपयोग कैसे किया जा सकता है अपरिभाषित विधि mysqli_stmt :: get_result को कॉल करें सूचीव्यू सबबैज क्लिक करने योग्य कॉन्फिल्ट एक फ़ोल्डर से एक submodule भंडार बनाएँ और अपने git प्रतिबद्ध इतिहास रखो SSLHandshake एक्सपैशन: एंड्रॉइड एन / 7.0 पर हैंडशेक विफल रहा जावा में XPath के साथ XML को पार्स करना क्या एक सीएसएस नियम को दूसरे के भीतर संदर्भ करना संभव है? MySQL त्रुटि: तालिका को संग्रहीत फ़ंक्शन / ट्रिगर में अपडेट नहीं किया जा सकता क्योंकि यह पहले से ही कथन द्वारा उपयोग किया जाता है जो इस संग्रहीत फ़ंक्शन / ट्रिगर को लागू करता है जावास्क्रिप्ट में चयनित टेक्स्ट इवेंट ट्रिगर अजवाइन के साथ "अद्वितीय" कार्य चलाना जावास्क्रिप्ट करी: व्यावहारिक अनुप्रयोग क्या हैं? जावा के तहत विंडोज में, मैं एक रीडायरेक्ट डेस्कटॉप फ़ोल्डर कैसे प्राप्त करूं? संपर्क जोड़ने / परिवर्तन पर प्रसारण? एएसपी.नेट एमवीसी 3 रेज़र प्रदर्शन

फ़्लोटिंग पॉइंट अंकगणित और दशमलव में 0.1 का प्रतिनिधित्व कैसे करें

मैं अस्थायी बिंदु अंकगणितीय को बेहतर समझने की कोशिश कर रहा हूं और 'हर कंप्यूटर वैज्ञानिक को फ़्लोटिंग पॉइंट अंकगणित के बारे में पता होना चाहिए' के ​​कुछ लिंक देखे हैं।

मैं अभी भी नहीं समझता कि एक संख्या जैसे कि 0.1 या 0.5 को तैरता है और दशमलव के रूप में।

क्या कोई कृपया इसकी व्याख्या कर सकता है कि स्मृति कैसे रखी गई है?

मैं फ्लोट के दो हिस्से होने के बारे में जानता हूं (यानी, कुछ की शक्ति के लिए एक नंबर)

Solutions Collecting From Web of "फ़्लोटिंग पॉइंट अंकगणित और दशमलव में 0.1 का प्रतिनिधित्व कैसे करें"

मैंने हमेशा लोगों को हार्ल्ड श्मिट के ऑनलाइन कनवर्टर की ओर इशारा किया है , साथ में अपनी अच्छी तस्वीरों के साथ विकिपीडिया आईईईई 754-19 85 लेख के साथ।

उन दो विशिष्ट मानों के लिए, आपको (0.1 के लिए) मिलता है:

 s eeeeeeee mmmmmmmmmmmmmmmmmmmmmmm 1/n 0 01111011 10011001100110011001101 | || || || || || +- 8388608 | || || || || |+--- 2097152 | || || || || +---- 1048576 | || || || |+------- 131072 | || || || +-------- 65536 | || || |+----------- 8192 | || || +------------ 4096 | || |+--------------- 512 | || +---------------- 256 | |+------------------- 32 | +-------------------- 16 +----------------------- 2 

यह संकेत सकारात्मक है, यह बहुत आसान है

एक्सपोनेंट 64+32+16+8+2+1 = 123 - 127 bias = -4 , इसलिए गुणक 2 -4 या 1/16

मंटिसा चंकी है। यह 1 (अंतर्निहित आधार) प्लस ( 1/(2 n ) मूल्य के साथ उन सभी बिट्स के लिए होते हैं, जैसे n 1 से शुरू होता है और दाएं से बढ़ता है), {1/2, 1/16, 1/32, 1/256, 1/512, 1/4096, 1/8192, 1/65536, 1/131072, 1/1048576, 1/2097152, 1/8388608}

जब आप इन सभी को जोड़ते हैं, तो आपको 1.60000002384185791015625 मिलता है।

जब गुणक द्वारा आप गुणा करते हैं, तो आप 0.100000001490116119384765625 प्राप्त करते हैं, यही वजह है कि वे कहते हैं कि आप वास्तव में एक आईईईईई 754 फ्लोट के रूप में 0.1 प्रतिनिधित्व नहीं कर सकते, और एसओ पर लोगों का जवाब देने के लिए इतना अवसर प्रदान करता है "why doesn't 0.1 + 0.1 + 0.1 == 0.3?" प्रकार के प्रश्न 🙂


0.5 उदाहरण काफी हद तक आसान है। इसे इस रूप में दर्शाया गया है:

 s eeeeeeee mmmmmmmmmmmmmmmmmmmmmmm 0 01111110 00000000000000000000000 

जिसका अर्थ है कि यह निहित आधार है, 1 , प्लस अन्य कोई अन्य additives (सभी mantissa बिट्स शून्य हैं)।

संकेत फिर सकारात्मक है एक्सपोनेंट 64+32+16+8+4+2 = 126 - 127 bias = -1 । इसलिए गुणक 2 -1 जो 1/2 या 0.5

तो अंतिम मूल्य 1 गुणा 0.5 या 0.5 गुणा किया जाता है। देखा!


मुझे दशमलव के संदर्भ में कभी-कभी इसके बारे में सोचना आसान लगता है

संख्या 1.345 के बराबर है

 1 + 3/10 + 4/100 + 5/1000 

या:

  -1 -2 -3 1 + 3*10 + 4*10 + 5*10 

इसी प्रकार, दशमलव 0.8125 लिए IEEE754 प्रतिनिधित्व है:

 s eeeeeeee mmmmmmmmmmmmmmmmmmmmmmm 0 01111110 10100000000000000000000 

1 के निहित आधार के साथ, यह द्विआधारी के बराबर है:

  01111110-01111111 1.101 * 2 

या:

  -1 (1 + 1/2 + 1/8) * 2 (no 1/4 since that bit is 0) 

जो बन जाता है:

 (8/8 + 4/8 + 1/8) * 1/2 

और फिर हो जाता है:

 13/8 * 1/2 = 0.8125 

विकिपीडिया प्रविष्टि और आईईईई समूह को देखें , पहले।

असल में, वहाँ एक संकेत, एक संख्या, और एक exponent है एक आधार में एक नंबर दूसरे आधार पर पूर्ण रूप से नहीं दिखाया जा सकता है यदि स्रोत आधार में गंतव्य आधार पर कारक मौजूद नहीं हैं। उदाहरण के लिए, 1/3 का एक परिमित दशमलव संख्या के रूप में प्रतिनिधित्व नहीं किया जा सकता है, लेकिन त्रिभुज (बेस -3) संख्या के रूप में प्रतिनिधित्व करने के लिए तुच्छ है: (0.1) 3

तो 0.5 में एक परिमित बाइनरी प्रस्तुति है, (0.1) 2 , वह है, 2 -1 , लेकिन 0.1 में दोहराए जाने वाले प्रतिनिधित्व हैं क्योंकि 2 और 10 में एक कारक (5) आम नहीं है