UTILS.
۱۰۰٪ در مرورگر
💾

مبدل ممیز شناور IEEE-754

یک عدد اعشاری را به/از الگوی بیتی تک‌دقتی (32 بیتی) یا دودقتی (64 بیتی) IEEE-754 تبدیل کنید و فیلدهای علامت، نما و مانتیس را تشریح کنید.

یک عدد یا الگوی بیتی در بالا وارد کنید.

درباره این ابزار

مبدل ممیز شناور IEEE-754 دقیقاً نشان می‌دهد که چگونه یک عدد به‌صورت یک ممیز شناور تک‌دقتی 32 بیتی یا دودقتی 64 بیتی در حافظه ذخیره می‌شود، و می‌تواند یک الگوی بیتی خام را به مقدار اعشاری آن معکوس کند. از آرایه‌های تایپ‌شده‌ی جاوااسکریپت (Float32Array / DataView) استفاده می‌کند بنابراین الگوی بیتی بازنمایی سخت‌افزاری واقعی است، نه یک تقریب.

در حالت رو به جلو الگو را به‌صورت hexadecimal و به‌صورت باینری تقسیم‌شده به سه فیلدش گزارش می‌دهد: بیت علامت، نما (8 بیت با بایاس 127 برای float32، 11 بیت با بایاس 1023 برای float64)، و مانتیس (23 یا 52 بیت). همچنین نمای بدون بایاس را رمزگشایی می‌کند و مقدار را به‌عنوان normal، subnormal، zero، infinity یا NaN طبقه‌بندی می‌کند. مهم‌تر اینکه مقدار دقیق ذخیره‌شده‌ای را که از بیت‌ها بازخوانده شده چاپ می‌کند — که برای float32 اغلب با آنچه تایپ کرده‌اید متفاوت است و خطای گرد کردن ممیز شناور را قابل‌مشاهده می‌سازد. برای مثال 0.1 در هیچ‌کدام از دقت‌ها دقیقاً ذخیره نمی‌شود.

در حالت معکوس یک الگوی hex (با یا بدون 0x) یا یک رشته‌ی باینری با عرض کامل می‌چسبانید و آن بیت‌ها را به‌عنوان یک float بازتفسیر می‌کند و مقدار اعشاری حاصل به‌علاوه همان تفکیک فیلد را نشان می‌دهد. همه‌چیز به‌صورت محلی در مرورگر شما اجرا می‌شود. این یک ابزار مرجع برای درک گرد کردن، مقایسه‌ی دقت تک در برابر دو، و بازرسی رمزگذاری‌های خاص برای ±0، ±∞ و NaN است.

پرسش‌های پرتکرار

چرا مقدار ذخیره‌شده با آنچه تایپ کردم متفاوت است؟
بیشتر کسرهای اعشاری نمی‌توانند دقیقاً در ممیز شناور باینری بازنمایی شوند، بنابراین نزدیک‌ترین مقدار قابل‌بازنمایی ذخیره می‌شود. مبدل بیت‌ها را بازمی‌خواند و آن مقدار دقیق ذخیره‌شده را نشان می‌دهد، که خطای گرد کردن را آشکار می‌کند — به‌ویژه در دقت تک 32 بیتی.
فیلدها چگونه چیده شده‌اند؟
Float32 از 1 بیت علامت، 8 بیت نما (بایاس 127) و 23 بیت مانتیس استفاده می‌کند؛ float64 از 1 بیت علامت، 11 بیت نما (بایاس 1023) و 52 بیت مانتیس استفاده می‌کند. نمای بدون بایاس برابر نمای خام منهای بایاس است.
صفر، بی‌نهایت و NaN چگونه رمزگذاری می‌شوند؟
یک نمای تماماً صفر با مانتیس صفر برابر ±0 است، یا یک subnormal اگر مانتیس ناصفر باشد. یک نمای تماماً یک به‌معنای ±بی‌نهایت وقتی مانتیس صفر است و NaN وقتی ناصفر است. ابزار هر دسته را برچسب می‌زند.
آیا می‌توانم از یک الگوی بیتی به یک عدد بازگردم؟
بله. به حالت معکوس بروید و یک الگوی 8 رقم hex (float32) یا 16 رقم hex (float64)، یا یک رشته‌ی باینری کامل 32 یا 64 بیتی بچسبانید، و ابزار آن بیت‌های دقیق را به‌عنوان یک مقدار ممیز شناور بازتفسیر می‌کند.

ابزارهای بیشتر