فرمت اعداد رایانه‌ای
نمایش کسرها به صورت دودویی > اعداد اعشاری

در حالی که هر دو اعداد صحیح بدون علامت و علامت در سیستم‌های دیجیتال استفاده می‌شوند، حتی یک عدد صحیح ۳۲ بیتی برای مدیریت طیف وسیعی از اعدادی که یک ماشین حساب می‌تواند انجام دهد، کافی نیست، و این فقط شامل کسر نمی‌شود. برای تقریب محدوده و دقت بیشتر اعداد حقیقی، باید اعداد صحیح علامت دار و اعداد نقطه ثابت را کنار بگذاریم و به قالب " ممیز شناور " برویم.
در سیستم اعشاری، ما با اعداد ممیز شناور شکل (نماد علمی) آشنا هستیم:
یا به‌طور خلاصه تر:
که به معنی "۱٫۱۰۳۰۴۰۲ ضربدر ۱ به دنبال ۵ صفر است". ما یک مقدار عددی معین (۱٫۱۰۳۰۴۰۲) داریم که به عنوان " ضریب " شناخته می‌شود، ضرب در توان 10 (E5، به معنای 10 5 یا ۱۰۰۰۰۰)، که به عنوان " توان " شناخته می‌شود. اگر ما یک توان منفی داشته باشیم، به این معنی است که عدد در ۱ چند مکان در سمت راست نقطه اعشار ضرب می‌شود. مثلا:
مزیت این طرح این است که با استفاده از توان می‌توانیم دامنه بسیار وسیع‌تری از اعداد را بدست آوریم، حتی اگر تعداد ارقام در معنادار یا «دقت عددی» بسیار کوچک‌تر از محدوده باشد. فرمت‌های باینری ممیز شناور مشابهی را می‌توان برای رایانه‌ها تعریف کرد. تعدادی از این طرح‌ها وجود دارد که محبوب‌ترین آنها توسط موسسه مهندسین برق و الکترونیک (IEEE) تعریف شده‌است. مشخصات استاندارد IEEE 754-2008 فرمت ممیز شناور ۶۴ بیتی را با موارد زیر تعریف می‌کند:
یک توان باینری ۱۱ بیتی، با استفاده از فرمت "excess-1023". Excess-1023 به این معنی است که توان به صورت یک عدد صحیح باینری بدون علامت از ۰ تا ۲۰۴۷ ظاهر می‌شود. با تفریق ۱۰۲۳ مقدار علامت دار واقعی به دست می‌آید
یک معنادار ۵۲ بیتی، همچنین یک عدد باینری بدون علامت، که یک مقدار کسری را با یک پیشرو ضمنی "۱" تعریف می‌کند.
یک بیت علامت، با دادن علامت عدد.
بیایید با دیدن اینکه یک عدد چگونه در ۸ بایت حافظه ذخیره می‌شود متوجه شویم این فرمت چگونه است.
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| بایت ۰ | s | x10 | x9 | x8 | x7 | x6 | x5 | x4 |
| بایت ۱ | x3 | x2 | x1 | x0 | m51 | متر ۵۰ | m49 | m48 |
| بایت ۲ | m47 | m46 | m45 | m44 | m43 | m42 | m41 | m40 |
| بایت ۳ | m39 | m38 | m37 | m36 | m35 | m34 | m33 | m32 |
| بایت ۴ | m31 | m 30 | m29 | m28 | m27 | m26 | m 25 | m24 |
| بایت ۵ | m23 | m22 | m21 | m 20 | m19 | m18 | m17 | m16 |
| بایت ۶ | m15 | m14 | m13 | m12 | m11 | m10 | m9 | m8 |
| بایت ۷ | m7 | m6 | m5 | m4 | m3 | m2 | m1 | m0 |
که در آن "S" نشان دهنده بیت علامت، "x" نشان دهنده یک بیت توان و "m" نشان دهنده یک بیت معنادار است. هنگامی که بیت‌های اینجا استخراج شدند، با محاسبه زیر تبدیل می‌شوند:
این طرح اعداد معتبر تا حدود ۱۵ رقم اعشاری را با دامنه اعداد زیر ارائه می‌دهد:
|  | بیشترین | کمترین |
| --- | --- | --- |
| مثبت | 1.797693134862231E+۳۰۸ | 4.940656458412465E-۳۲۴ |
| منفی | -4.940656458412465E-۳۲۴ | -1.797693134862231E+۳۰۸ |
این مشخصات همچنین چندین مقدار خاص را تعریف می‌کند که اعداد تعریف‌شده نیستند و به عنوان NaNs شناخته می‌شوند، مخفف شدهٔ "ٔNot A Number". اینها توسط برنامه‌ها برای تعیین عملیات نامعتبر و موارد مشابه استفاده می‌شود.
برخی از برنامه‌ها از اعداد ممیز شناور ۳۲ بیتی نیز استفاده می‌کنند. متداول‌ترین طرح از یک معنادار ۲۳ بیتی با یک بیت علامت، به اضافه یک توان ۸ بیتی در قالب "excess-127" استفاده می‌کند که هفت رقم اعشاری معتبر را ارائه می‌دهد.
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| بایت ۰ | s | x7 | x6 | x5 | x4 | x3 | x2 | x1 |
| بایت ۱ | x0 | m22 | m21 | m 20 | m19 | m18 | m17 | m16 |
| بایت ۲ | m15 | m14 | m13 | m12 | m11 | m10 | m9 | m8 |
| بایت ۳ | m7 | m6 | m5 | m4 | m3 | m2 | m1 | m0 |
بیت‌ها با محاسبه زیر به یک مقدار عددی تبدیل می‌شوند:
منجر به محدوده اعداد زیر می‌شود:
|  | بیشترین | کمترین |
| --- | --- | --- |
| مثبت | 3.402823E+۳۸ | 2.802597E-۴۵ |
| منفی | -2.802597E-۴۵ | -3.402823E+۳۸ |
چنین اعداد ممیز شناور به‌طور کلی به عنوان "واقعی" یا "شناور" شناخته می‌شوند، اما با تعدادی تغییرات:
مقدار شناور ۳۲ بیتی گاهی اوقات "real32" یا "single" نامیده می‌شود که به معنای "مقدار ممیز شناور با دقت یکتاً است.
یک شناور ۶۴ بیتی گاهی اوقات "real64" یا "double" نامیده می‌شود که به معنای "مقدار ممیز شناور با دقت دوگانه" است.
رابطه بین اعداد و الگوهای بیت برای راحتی در کارهای رایانه انتخاب شده‌است. هشت بایت ذخیره شده در حافظه کامپیوتر ممکن است نشان دهنده یک real64 بیتی، دو عدد real32 بیتی، یا چهار عدد صحیح علامت دار یا بدون علامت، یا نوع دیگری از داده‌ها باشد که در هشت بایت قرار می‌گیرند. تنها تفاوت این است که چگونه کامپیوتر آنها را تفسیر می‌کند. اگر رایانه چهار عدد صحیح بدون علامت را ذخیره می‌کرد و سپس آنها را از حافظه به عنوان واقعی ۶۴ بیتی می‌خواند، تقریباً همیشه یک عدد واقعی کاملاً معتبر خواهد بود، اگرچه داده‌های ناخواسته است.
فقط یک بازه محدود از اعداد خقیقی را می‌توان با تعداد مشخصی از بیت‌ها نشان داد. عملیات حسابی می‌تواند سرریز یا زیر سرریز شود و مقداری را تولید کند که به دلیل اینکه خیلی بزرگ یا خیلی کوچک هست. قابل نمایش نیست.
نمایش دقت محدودی دارد. به عنوان مثال، تنها ۱۵ رقم اعشاری را می‌توان با واقعی ۶۴ بیتی نشان داد. اگر یک عدد ممیز شناور بسیار کوچک به عدد بزرگ اضافه شود، نتیجه فقط عدد بزرگ است. عدد کوچک آنقدر کوچک بود که حتی با وضوح ۱۵ یا ۱۶ رقمی نشان داده نمی‌شد و کامپیوتر عملاً آن را کنار می‌گذارد. تجزیه و تحلیل اثر دقت محدود یک مسئله به خوبی مطالعه شده‌است. برآورد بزرگی خطاهای دور کردن و روش‌هایی برای محدود کردن تأثیر آنها بر محاسبات بزرگ، بخشی از هر پروژه محاسباتی بزرگ است. حد دقت با حد دامنه متفاوت است، زیرا بر ضریب علمی تأثیر می‌گذارد، نه توان.
ضریب علمی یک کسر باینری است که لزوماً با کسر اعشاری مطابقت ندارد. در بسیاری از موارد مجموع توانهای متقابل ۲ با کسر اعشاری خاصی مطابقت ندارد و نتایج محاسبات کمی کاهش می‌یابد. به عنوان مثال، کسر اعشاری "۰٫۱" معادل یک کسر باینری بی‌نهایت تکراری است: 0.000110011. . .