पृष्ठभूमि
IEEE 754 डबल-सटीक फ़्लोटिंग-पॉइंट प्रारूप 64 बिट्स के साथ वास्तविक संख्याओं का प्रतिनिधित्व करने का एक तरीका है। यह निम्नलिखित की तरह दिखता है:
![]()
एक वास्तविक संख्या nको doubleनिम्नलिखित तरीके से परिवर्तित किया जाता है:
- संकेत बिट
s0 है यदि संख्या सकारात्मक है, 1 अन्यथा। - निरपेक्ष मान का
nनिरूपण प्रपत्र में किया जाता है2**y * 1.xxx, अर्थात आधार का 2 गुना । - प्रतिपादक
eहैy(2 की शक्ति) शून्य से 1023। - अंश
fहैxxxहिस्सा (आधार के आंशिक भाग), सबसे महत्वपूर्ण 52 बिट्स लेने।
इसके विपरीत, एक बिट पैटर्न (संकेत s, प्रतिपादक eऔर अंश द्वारा परिभाषित f, प्रत्येक पूर्णांक) संख्या का प्रतिनिधित्व करता है:
(s ? -1 : 1) * 2 ** (e - 1023) * (1 + f / (2 ** 52))
चुनौती
एक वास्तविक संख्या को देखते हुए n, इसके पूर्णांक doubleके nरूप में प्रतिनिधित्व के 52-बिट अंश का उत्पादन ।
परीक्षण के मामलों
0.0 => 0
1.2 => 900719925474099 (hex 3333333333333)
3.1 => 2476979795053773 (hex 8cccccccccccd)
3.5 => 3377699720527872 (hex c000000000000)
10.0 => 1125899906842624 (hex 4000000000000)
1234567.0 => 798825262350336 (hex 2d68700000000)
1e-256 => 2258570371166019 (hex 8062864ac6f43)
1e+256 => 1495187628212028 (hex 54fdd7f73bf3c)
-0.0 => 0
-1.2 => 900719925474099 (hex 3333333333333)
-3.1 => 2476979795053773 (hex 8cccccccccccd)
-3.5 => 3377699720527872 (hex c000000000000)
-10.0 => 1125899906842624 (hex 4000000000000)
-1234567.0 => 798825262350336 (hex 2d68700000000)
-1e-256 => 2258570371166019 (hex 8062864ac6f43)
-1e+256 => 1495187628212028 (hex 54fdd7f73bf3c)
आप इस सी संदर्भ का उपयोग करके अन्य संख्याओं की जांच कर सकते हैं जो बिट फ़ील्ड और एक यूनियन का उपयोग करता है।
ध्यान दें कि अपेक्षित उत्तर किसी भी संख्या के लिए +nऔर उसके -nलिए समान है n।
इनपुट और आउटपुट
मानक नियम लागू होते हैं।
स्वीकृत इनपुट प्रारूप:
- एक फ्लोटिंग-पॉइंट नंबर, कम से कम
doubleआंतरिक रूप से सटीक होने के कारण - दशमलव में संख्या का एक स्ट्रिंग प्रतिनिधित्व (आपको वैज्ञानिक संकेतन का समर्थन करने की आवश्यकता नहीं है, क्योंकि आप इनपुट के रूप में
1000...00या उपयोग कर सकते हैं0.0000...01)
आउटपुट के लिए, कम से कम महत्वपूर्ण बिट पर एक गोल त्रुटि सहनीय है।
जीतने की स्थिति
यह कोड-गोल्फ है , इसलिए प्रत्येक भाषा में सबसे कम बाइट्स जीतता है।