UTILS.
100% ब्राउज़र में
💾

IEEE-754 फ़्लोटिंग-पॉइंट कन्वर्टर

एक दशमलव संख्या को उसके IEEE-754 single (32-बिट) या double (64-बिट) बिट पैटर्न में/से बदलें और sign, exponent व mantissa फ़ील्ड को विच्छेदित करें।

ऊपर एक संख्या या बिट पैटर्न दर्ज करें।

इस टूल के बारे में

IEEE-754 फ़्लोटिंग-पॉइंट कन्वर्टर ठीक-ठीक दिखाता है कि एक संख्या 32-बिट single-precision या 64-बिट double-precision फ़्लोट के रूप में मेमोरी में कैसे संग्रहीत होती है, और एक कच्चे बिट पैटर्न को वापस उसके दशमलव मान में उलट सकता है। यह JavaScript typed arrays (Float32Array / DataView) का उपयोग करता है, इसलिए बिट पैटर्न वास्तविक हार्डवेयर प्रतिनिधित्व है, कोई सन्निकटन नहीं।

फ़ॉरवर्ड मोड में यह पैटर्न को हेक्साडेसिमल के रूप में और इसके तीन फ़ील्ड में विभाजित बाइनरी के रूप में बताता है: sign बिट, exponent (float32 के लिए बायस 127 के साथ 8 बिट, float64 के लिए बायस 1023 के साथ 11 बिट), और mantissa (23 या 52 बिट)। यह अनबायस्ड exponent को भी डिकोड करता है और मान को normal, subnormal, zero, infinity या NaN के रूप में वर्गीकृत करता है। महत्वपूर्ण रूप से यह बिट से वापस पढ़े गए सटीक संग्रहीत मान को छापता है — जो float32 के लिए अक्सर आपके टाइप किए से भिन्न होता है, फ़्लोटिंग-पॉइंट पूर्णांकन त्रुटि को दृश्यमान बनाते हुए। उदाहरण के लिए 0.1 किसी भी प्रिसिज़न में ठीक से संग्रहीत नहीं होता।

रिवर्स मोड में आप एक हेक्स पैटर्न (0x के साथ या बिना) या एक पूर्ण-चौड़ाई बाइनरी स्ट्रिंग पेस्ट करते हैं और यह उन बिट को एक फ़्लोट के रूप में पुनर्व्याख्यायित करता है और परिणामी दशमलव मान प्लस वही फ़ील्ड विभाजन दिखाता है। सब कुछ आपके ब्राउज़र में स्थानीय रूप से चलता है। यह पूर्णांकन समझने, single बनाम double प्रिसिज़न की तुलना करने, और ±0, ±∞ व NaN के लिए विशेष एन्कोडिंग का निरीक्षण करने के लिए एक प्रमुख टूल है।

अक्सर पूछे जाने वाले प्रश्न

संग्रहीत मान मेरे टाइप किए से भिन्न क्यों होता है?
अधिकांश दशमलव भिन्नों को बाइनरी फ़्लोटिंग पॉइंट में ठीक से प्रस्तुत नहीं किया जा सकता, इसलिए निकटतम प्रस्तुत-योग्य मान संग्रहीत होता है। कन्वर्टर बिट को वापस पढ़ता है और वह सटीक संग्रहीत मान दिखाता है, जो पूर्णांकन त्रुटि को प्रकट करता है — विशेषकर 32-बिट single प्रिसिज़न में।
फ़ील्ड कैसे व्यवस्थित हैं?
Float32 में 1 sign बिट, 8 exponent बिट (बायस 127) और 23 mantissa बिट हैं; float64 में 1 sign बिट, 11 exponent बिट (बायस 1023) और 52 mantissa बिट हैं। अनबायस्ड exponent कच्चे exponent घटा बायस के बराबर है।
zero, infinity और NaN कैसे एन्कोड होते हैं?
शून्य mantissa के साथ पूरी तरह शून्य exponent ±0 है, या mantissa गैर-शून्य होने पर एक subnormal। पूरी तरह-एक exponent का अर्थ mantissa शून्य होने पर ±infinity और गैर-शून्य होने पर NaN है। टूल प्रत्येक श्रेणी को लेबल करता है।
क्या मैं बिट पैटर्न से वापस एक संख्या पर जा सकता हूँ?
हाँ। रिवर्स मोड में स्विच करें और एक 8-हेक्स-अंक (float32) या 16-हेक्स-अंक (float64) पैटर्न, या एक पूर्ण 32- या 64-बिट बाइनरी स्ट्रिंग पेस्ट करें, और टूल उन सटीक बिट को एक फ़्लोटिंग-पॉइंट मान के रूप में पुनर्व्याख्यायित करता है।

और टूल